- 比如n=20,这些数可以是
1,2,3,4
6,7,8,9
11,12,13,14
16,17,18,19
- 直接从1~n,中间用if判断,如果不是5的倍数就把它们相加。
#include方法二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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)