来源于计导第一次作业
已知正整数n与数列公式:
An = 123+234+345+…+(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>
long long An(int a) {
if (a > 2) {
return a * (a - 1) * (a - 2) + An(a - 1);
} else {
return 0;
}
}//定义函数An
int main() {
int n;
long long sum = 0;
scanf("%d", &n);
for (int i = 3; i <= n; i++) {
sum = sum + An(i);
}
printf("%lld", sum);
return 0;
}
//输出结果873019743440600 这是由于使用了int a 而不是long long a;因为在运算过程中可能会溢出。
//预期结果12149993250000600
更改
#include <stdio.h>
long long An(long long a) {
if (a > 2) {
return a * (a - 1) * (a - 2) + An(a - 1);
} else {
return 0;
}
}//定义函数An
int main() {
int n;
long long sum = 0;
scanf("%d", &n);
for (int i = 3; i <= n; i++) {
sum = sum + An(i);
}
printf("%lld", sum);
return 0;
}
//12149993250000600
efkhjwtaxc
独家揭秘:传奇私服怪物声音调整秘籍,震撼游戏界!:https://501h.com/jingpin/2024-10-15/42534.html
segbiptuun
《赌霸天下》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/56013.html
sidjpwioum
《不朽的樱花》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/154624.html