竞赛
考级
1
互关
11
春易老
#include<iostream> using namespace std; int main(){ long long n,m,sum=0; cin >> n >> m; if(n<=m){ for(int i=n,j=m;i>0;i--,j--){ sum += ij; } } else{ for(int i=n,j=m;j>0;i--,j--){ sum+=ij; } } cout<<sum; return 0; }
180****3299
正在减肥的吃货
找找规律,这题不是很难 #include<iostream> using namespace std; int main(){ int m,n,x=0; cin>>m>>n; for(m;m>=0;--m){ x=x+m*n; --n; if(n==0){ break; } } cout<<x; return 0; }
传说中的黄色闪光
#include<iostream> using namespace std; int main(){ long long n,m; cin>>n>>m; long long sum=0; if(n<=m){ for(int i=n,j=m;i>0;i--,j--){ sum+=i*j; } else{ for(int i=n,j=m;j>0;i--,j--){ sum+=i*j; } } cout<<sum; return 0; }
章静远
Young Chen
THUNDER
#include<stdio.h> using namespace std; int main(){ }
黄老师
勇敢的小霍皮
135****0149
胡雨轩
说实话,这一道题一点难度都没有 分析: 假设一个正方形边长为i,一算可知横排可容下(n-i+1),一列可容下(m-i+1),这样,代码就出来了。 code
133****8992
这题就拿题目给的那个图片举例 边长 数量 1 4*6 2 3*5 3 2*4 4 1*3 可以发现,每次n和m先相乘,再各自减1 并且短边减到大于0就结束,所以代码如下
HUDSI
#include
复仇者_黑客_ZDZL
荣耀13 Pro MAX
曾致远
首先作为一个矩形,它能承受的最大正方形的边长就是它较短边的边长所以只要确保i<min(n,m)就行 然后使用(n+1-i)(m+1-i)算出矩形中可以构建多少个不同位置的边长为i的正方形。原理为正方形的数量会从自上而下第一个格子和从左往右第i个格子开始进行枚举所以剩余高度为:n-i,剩余长度为:m-i 然后分别加上最开始的那个i即第一个得出 (n-i+1)(m-i+1) #include<iostream> using namespace std; int main(){ int n,m,k=0; cin>>n>>m; for(int i=1;i<=min(n,m);i++) k+=(n+1-i)*(m+1-i); cout<<k; return 0; }
爱莉爱莉爱𝅘𝅥𝅮𝅘𝅥𝅮𝅘𝅥𝅮
共125条