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 ———————————— */
/* * [(n - 1) * d + 8] * n = 200 */ int n = 25, i = 0; double d[24] = {0.0}; void func() { for(; n != 1; n--, i++) { d[i] = ( ((double)200 / n) - 8 ) / (n - 1); } }小白路过,以上言论,概不负责