C语言等差数列 初值为4,输出和为100 的所有等差数列
C语言等差数列 初值为4,输出和为100 的所有等差数列。昨天在百度上看到,刚开始感觉几个for循环能搞定,可是现在全傻了,可能性太多了,有高人指点吗?
2011-08-25 11:15
2011-08-25 11:19
2011-08-25 11:21
2011-08-25 11:41
2011-08-25 12:00
2011-08-25 12:34
2011-08-25 12:37
程序代码:# 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
————————————
*/
2011-08-25 13:05
程序代码:/*
* [(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);
}
}小白路过,以上言论,概不负责
2011-08-25 13:14
2011-08-25 13:28