7-15 实验2_9_数列求和 (100 point(s))
已知正整数n与数列公式:
An = 1*2*3+2*3*4+3*4*5+…+(n-2)*(n-1)*n (n>=3)
An = 0 (n=1,2)
请根据n值计算该数列的前n项和的值,并输出。n的取值范围是(1<=n<=3000)。
注意:这里的An 只是一项,而我们要求的是计算该数列的前n项和。
提示:由于n值很大,建议使用long long型变量存储结果。
输入格式:
只有一个正整数n(1<=n<=3000)。
输出格式:
只有一个整数,为计算结果。
输入样例:
3000
输出样例:
12149993250000600
#include<stdio.h>
int main(){
long long n;
long long j=1,i=1;
long long sum=0,t=0;
scanf("%lld",&n);
if((n==1)||(n==2))
printf("0");
else{
for(i=3;i<=n;i++){
for(j=3;j<=n-i+3;j++){
sum=sum+j*(j-1)*(j-2);
}
t=sum+t;
sum=0;\\注意每轮要把sum,即An的值归零哦
}
printf("%lld",t);
}
return 0;
}