这个为什么会解答错误啊

hzd1 发表于 3年前 · 关联问题 守护长方形

#include <iostream> using namespace std; int main() { long long n,m,z,c,sum=0,count1=0,count2=0; cin>>n>>m; for(long long i=1;i<=n;i++) { count1+=i;} for(long long t=1;t<=m;t++) { count2+=t;} int a=count1*count2; while(n!=0&&m!=0) {z=n*m; n--; m--; sum=sum+z; } c=a-sum; cout<<sum<<" "<<c<<endl; return 0; }

黄一肯 发表于 3年前

因为错了啊

Tension 发表于 3年前

int a数据溢出了,改成longlong就好了

Canaan 发表于 3个月前

include

include

typedef long long real; using namespace std; real count_list_squ(real a,real b) {

real count=0; for (real i = 1; i <= a; i++) { count += (a - i + 1) * (b - i + 1); } return count;

}

real count_list_rec(real a, real b) {

real count = 0; for (real i = 1; i <= a; i++) { for (real j = 1; j <= b; j++) { if (i != j) { count += (a - i + 1) * (b - j + 1); } } } return count;

} int main() {

real len, width; cin >> len >> width; real count_squ; if (len >= width) { count_squ = count_list_squ(width, len); } else { count_squ = count_list_squ(len,width); } real count_rec = count_list_rec(len, width); cout << count_squ <<" "<< count_rec; return 0;

}