回复 8楼 李格非1992
那不更复杂了,连续用两个循环,最后再相减。还是不能逃离循环。。。
#include <stdio.h> int sum(int x){ int y; y=(x+10000/x*x)*(10000/x)/2; return(y); } main(){ int answer; answer=sum(1)-sum(3)-sum(5)+sum(15); printf("Sum is: %d",answer); return 0; }
#include<stdio.h> int cal(int n) { int n3, n5, n15; n3 = n / 3; n5 = n / 5; n15 = n / 15; return ((1 + n) * n - 3 * (1 + n3) * n3 - 5 * (1 + n5) * n5 + 15 * (1 + n15) * n15) / 2; } int main() { int n = 10000; printf("%d\n", cal(n)); return 0; }
#include<stdio.h> int sum(int x) { return (x*(x+1)/2); /*等差数列求和*/ } main() { int n,a,c; c=sum(10000); n=10000/15; /*求出有多少个能整除15的数*/ a=15*sum(n); printf("结果为:%d\n",c-a); }这个程序怎么样