系统数数 计算棋盘正方形数
问题:围棋棋盘有纵横19*19条线组成,这些线共组成多少正方形?
解:利用简单数学计算求解,每次以右下角的点为坐标点。
长度为1时,计算正方形的个数,这样(1,1)点有一个,一直到(1,19)点共19个正方形,得出19*19个。
长度为2时,计算正方形的个数,这样(2,2)点有一个,一直到(2,19)点共18个正方形,得出18*18个。
长度为i时,计算正方形的个数,这样(i,i)点有一个,一直到(i,19)点共(20-i)个正方形,得出(19-i+1)*(19-i+1)个。
得到求和公式:Sum += (19-i+1)*(19-i+1)
说明:为了方便可以求任何长度的正方形的个数,将在控制台输入正方形的格数,即可求出所有正方形的个数的代码如下:
import java.util.Scanner;
public class 系统数数 {
public static void main(String[] args){
System.out.print("输入格数");
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int squareNum = sc.nextInt(); //正方形的格数
int squareSum = 0; //正方形的总数
for(int i = 1; i <= squareNum; i++){
squareSum += (squareNum - i + 1) * (squareNum - i + 1);
}
System.out.println("一共" + squareSum + "个正方形");
}
sc.close();
}
}