C语言等差数列 初值为4,输出和为100 的所有等差数列
C语言等差数列 初值为4,输出和为100 的所有等差数列。昨天在百度上看到,刚开始感觉几个for循环能搞定,可是现在全傻了,可能性太多了,有高人指点吗?
# include <stdio.h> int main (void) { int i,j; int a[100],b[100]; int c; int s; for (i=1; i<100; ++i) { c = 4; s = 0; for (j=0; j<100; ++j) { a[j]=c; s += c; b[j]=s; if (100 <= s) break; c += i; } if (100 == s) { for (j=0; j<100; ++j) { printf("%d ",a[j]); if (100 == b[j]) { printf("= %d\n",s); break; } printf("+ "); } } } return 0; } /* 在VC++6.0中的输出结果为: ———————————— 4 + 12 + 20 + 28 + 36 = 100 4 + 18 + 32 + 46 = 100 4 + 96 = 100 Press any key to continue ———————————— */