编写程序求一正整数等差数列的前6项的和
// C语言实现
//由于数列前四项的乘积为880,同时考虑可能包含值为1或-1的项,
//因此可以初步判断出数列第一项应满足|a|<10,以及|d|<10
void main()
{
int a,d; //数列的第一项和差值
int sum,mul; //数列的和、乘积
int flag;
for ( a=-10; a<=10; a++ )
{
for ( d=-10; d<10; d++ )
{
sum = 4*a + 6*d;
mul = a * (a+d) * (a+2*d) * (a+3*d);
if ( sum == 26 && m
ul == 880 )
{
flag = 1;
break;
}
}
if ( flag == 1 )
{
break;
}
}
printf("the sequence is: %d,%d,%d,%d,%d,%d\n",a,a+d,a+2*d,a+3*d,a+4*d,a+5*d);
printf("the sum of the first six item is: %d\n",6*a+15*d);
}
。
。
[展开]
什么语言?
an = a1 + (n-1)d
a1 + a2 + a3 + a4
= a1 + a1 + d + a1 + 2d + a1 + 3d
= 4*a1 + 6*d
= 26
a1 * a2 * a3 * a4
= a1 * (a1 + d) * (a1 + 2d) * (a1 + 3d)
= (a1^2 + a1d)(a1^2 + 5a1d + 6d^2)
= 880
。
1/5÷2/3=1/5×3/2=3/10小时