2 qq 37861942 qq_37861942 于 2017.09.05 20:31 提问

求问一道简单的CC语言题目

求一个由20项组成的等差数列,其偶数项的和为330,奇数项的和为300,而且每项都是正整数。我的代码如下:
#include "stdio.h"
int main()
{
int a,i,d,s1=0,s2=0;
for(a=1;a<=21;a++)
{
for(d=1;d<=4;d++)
{
for(i=0;i<10;i++)
{
s1+=a+d+2*i*d;
s2+=a+2*i*d;
}
if(s1==330&&s2==300)
for(i=0;i<20;i++)
printf("%4d",a+i*d);
}
}
}
最后程序没有错误但是输出为空。。

2个回答

caozhy
caozhy   Ds   Rxr 2017.09.06 09:02

你的搜索范围0~24里面没有可行的解,而且这题目肯定要用动态规划,哪能这么死算。

qq_31887361
qq_31887361   2017.09.06 15:38

对于不满足if的情况,没有对s1与s2的值重新置零,导致之后的循环无法满足输出的条件

Csdn user default icon
上传中...
上传图片
插入图片