题目:
难点:
无
方法一:
#include <stdio.h>
int hepingfang() {
int num = 0;
for (int i = 1; i <= 100; i++) {
num += i;
}
num = num * num;
return num;
}
int pingfanghe() {
int num = 0;
for (int i = 1; i <= 100; i++) {
num += i * i;
}
return num;
}
int main() {
printf("%d - %d = %d", hepingfang(), pingfanghe(), hepingfang() - pingfanghe());
return 0;
}
方法二:
#include <stdio.h>
#define MAX_N 100
int main() {
int num1 = 0, num2 = 0;
for (int i = 1; i <= MAX_N; i++) {
num1 += i;
num2 += i * i;
}
printf("%d\n", num1 * num1 - num2);
return 0;
}
代码优化:
优化1:
#include <stdio.h>
#define n 100
int main() {
int num1 = (n + 1) * n >> 1;
int num2 = n * (n + 1) * (2 * n + 1) / 6;
printf("%d\n", num1 * num1 - num2);
return 0;
}
运用平方和公式提高效率。