- 比如n=20,这些数可以是
1,2,3,4
6,7,8,9
11,12,13,14
16,17,18,19
方法一
- 直接从1~n,中间用if判断,如果不是5的倍数就把它们相加。
#include <stdio.h>
int main() {
int i, n, sum = 0;
scanf("%d", &n);
for(i = 1; i < n; i++){
if(i%5 != 0){
sum += i;
}
}
printf("sum = %d", sum);
}
方法二
1,2,3,4
6,7,8,9
11,12,13,14
16,17,18,19
- 通过上面数字可以发现:1+19=20;2+18=20;3+17=20...
- 一行有4个数字。头部和尾部相加等于一个新的数字,这样相加数字就少了一半(现在变成2排4列,一共8个数字,并且这8个数字都是20)。
- 最后的和就是8 * 20 = 160