标签:numr nums int 个数 长方形 正方形 递推
公式一
等差数列求和:
((1+n)*n/2)
公式二
题目描述
设有一个N×M方格的棋盘( l≤ N≤100,1≤M≤100)。求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。
例如:当 N=2, M=3时:
正方形的个数有8个:即边长为1的正方形有6个;边长为2的正方形有2个。
长方形的个数有10个:即2×1的长方形有4个;1×2的长方形有3个;3×1的长方形有2个;3×2的长方形有1个。
输入
N和M两个整数。
输出
正方形的个数与长方形的个数。
样例
输入
2 3
输出
8 10
题解
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
int n,m,a,b,numr,nums;
int main(){
cin>>n>>m;
a=n,b=m;
numr=((1+n)*n/2)*((1+m)*m/2);//矩形个数
while(a>=1&&b>=1){
nums+=a*b;
a--,b--;
}//正方形个数
numr-=nums;//长方形个数
cout<<nums<<" "<<numr;
return 0;
}
标签:numr,nums,int,个数,长方形,正方形,递推 来源: https://www.cnblogs.com/hnzzlxs01/p/16655943.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。