这个程序关键有2个
1 首项a的值
2 等差值 d
根据 26为首4项之和
所以 a+a+d+a+2d+a+3d=26
4a+6d=26
#include
main()
{
int a,d,i,s,f,x; /*a是第一项*/
for(a=1;a<30;a++) //这个循环是穷举首项a的值
for(d=1;d<=( 26*4*a)/6;d++) //这个循环是穷举等差值d的值
{
s=0;f=1;x=a;
for(i=1;i<=4;i++) //这个循环是用穷举出来的a和d的值计算前4项的和和积
{
s=s+x; //这是累加4项和
f=f*x; //这是累乘4项乘积
x=x+d; //这是计算下一项的值
}
if(s==26&&f==880) //如果穷举的a和d计算出来的前4项和和乘积等于条件
for(i=0;i<10;i++) //则输出前4项
printf("%3d",a+i*d);
}
printf("\n");
system("PAUSE");
}
仅仅代表第一项是a “/* ……*/”只是一个讲解,在程序中不起作用
d代表一个数,程序中它作用能在for语句中循环五次