05:正方形长方形的个数
设有一个nm方格的棋盘(1≤m,n≤100)。
求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。
例如:当n=2,m=3时
正方形的个数有8个;
即边长为1的正方形有6个,
边长为2的正方形有2个。
长方形的个数有10个;
即21的长方形有4个,
12的长方形有3个,
31的长方形有2个,
3*2的长方形有1个。
输入
n和m
输出
正方形的个数与长方形的个数,用逗号分隔
样例输入
2 3
样例输出
8,10
#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
int temp;
if(n>m){
temp=n;
n=m;
m=temp;
}//保证n<m;
int sum=0;
for(int i=2;i<=n;i++){
sum=sum+(n-i+1)*(m-i+1);
}
int r=n*m+sum;
//r是正方形的个数;
int toal1=0,toal2=0;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=m;j++)
toal1=toal1+(n-i+1)*(m-j+1);
//toal1是横向长方形的个数;
for(int j=1;j<n;j++)
for(int i=j+1;i<=n;i++)
toal2=toal2+(m-j+1)*(n-i+1);
//toal2是纵向长方形的个数;
int R=toal1+toal2;
cout<<r<<","<<R<<endl;
return 0;}