| 名称 | 表达式 | 求和公式 |
| 等差数列 | | |
| 平方和 | | |
| 立方和 | | |
| 三角数的和 / 四面体数 | 或者是 | (本题解法) |
#include <stdio.h>
int main() {
int n = 0;
scanf("%d", &n);
/*
* 规律:输入整数为 n,表示有 (n - 0) 个 1,(n - 1) 个 2,(n - 2) 个 3,
* (n - (n - 1)) 个 n。即前 n (n >= 1 && n <= 100)项和为
* (n - 0) * 1 + (n - 1) * 2 + (n - 2) * 3 + ... + 1 * n,
*
* 因此这是一个三角数的和,即四面体数,这题可表示为求解第 n 个四面体数,
* 公式:(n * (n + 1) * (n + 2) / 6)
*/
// for (int count = 0; count < n; count++)
// {
// sum += (n - count) * (count + 1);
// }
printf("%d", n * (n + 1) * (n + 2) / 6);
return 0;
}
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
int n = in.nextInt();
if(n==1){
System.out.println(n);
return;
}
long sum =0;
for(int i=1;i<=n;i++){
sum+=getSum(i);
}
System.out.println(sum);
}
//给一个整数n,计算1+2+……n 这不就变成了高斯公式嘛?是的。的确如此
static long getSum(int n){
//高斯公式(1+n)*n/2 比较好理解的是(1+n)*(n/2)
return (1+n)*n/2;
}
} #include <stdio.h>
int main() {
int n;
int a = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
a = ((a + i) + (a + (i * i))) / 2;
//s(n) = (n *(n + 1)) / 2,
//所以Ss(n) = (1 / 2)*(1+2+3+···+n + 1*1+2*2+3*3+···+n*n)
}
printf("%d\n", a);
return 0;
}