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
————————————
*/