蒟蒻求助
按理来说n不会大于100000的吧。
为什么要用unsigned long long,而且用了和不用的代码跑的结果不一样TVT
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,lp,rp;unsigned long long sum(0);//lp:线左边的点数,rp右边的。
cin>>n;
rp=n-3;
for(lp=1;lp<=n-3;lp++,rp--)
{
sum+=lp*rp;
}//计算每个点射出的线的点数
sum=sum*n/4;//每个交点由四个点均分
cout<<sum<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
unsigned long long n,lp,rp;unsigned long long sum(0);//lp:线左边的点数,rp右边的。
cin>>n;
rp=n-3;
for(lp=1;lp<=n-3;lp++,rp--)
{
sum+=lp*rp;
}//计算每个点射出的线的点数
sum=sum*n/4;//每个交点由四个点均分
cout<<sum<<endl;
return 0;
}
二者唯一的区别只有n lp rp的类型。
而且输入98765时二者输出不同
代码一:346012695838301915
代码二:3964374251598225115(与测试点一致)