我们知道在解决实际问题的时候来,方法有许多,可以运用公式,找规律,还可以自己找到一个合适的解题方法来解决这一类问题:
设有一个n*m方格的棋盘(1≤m,n≤100)。
求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。
先有公式得:
经过寻找规律可以得
如图所示 正方形得个数为2*3+1*2+0*1=8
在如图所示:
正方形得个数为2*4+1*3+0*2=11
因而得出规律为:
边长乘积得递归求和。
那么举行的个数是怎么个规律来?
这个规律课是小编 找的哟
m*n*(m+1)*(n+1)/4--正方形得个数;
这个大家可以画图印证一下;
从而代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
int sumz = 0;
int sumc = 0;
if (N > M) {
for (int i = M - 1; i >= 0; i--)
{
sumz += (N - i) * (M - i);
} }
else {
for (int i = N - 1; i >= 0; i--)
{
sumz += (N - i) * (M - i);
} }
sumc = N * M * (N + 1) * (M + 1) / 4 - sumz;
System.out.println(sumz + "," + sumc);
}}