日期:2014-05-20  浏览次数:20712 次

x行y列的表格,每个小格是一个小正方形,求总共有多少个正方形?
用java设计算法实现算出有多少个正方形?
------最佳解决方案--------------------
public class CountSquare {


public static void main(String[] args) {
//int x = Integer.parseInt(args[0]);
//int y = Integer.parseInt(args[1]);
//System.out.println(x);
//System.out.println(y);
int x = 10, y=15;//设置大正方形的长宽,y为长,x为宽
int edge = 1;//edge为每个正方形方格的边长,初始值设为1
int temp = x < y ? x : y;
int nums = 0;
while(edge <= temp) {
for(int i = 0; i < x; i=i+edge) {
for(int j = 0; j < y; j = j + edge) {
nums++;
}
}
edge++;
}
System.out.println(nums);

}

}
程序里面我设矩形的宽为10,长为15,楼主你可以把长宽设小点自己验证
------其他解决方案--------------------
表格以什么样的数据结构存?没有结构怎么定义算法??X,Y都不已知呗?
------其他解决方案--------------------

public static int getNumbers(int a,int b) //a 行数,b 列数。
{
int numbers=0;
if(a>0&&b>0)
{
for(int i=0;i<(a>b?b:a);i++) //以行、列较小的做循环结束条件。
{
numbers+=(a-i)*(b-i); //累加。
}
}
return numbers;
}

------其他解决方案--------------------
大方块的面积除以每个小方块的面积就可以了啊