问题描述:
一个等差数列的前4个数之和是26,前4个数之积是880,输出这个等差数列的前10项。
问题分析:
设等差数列的首项为i,公差为j,那么等差数列的和与积分别可以表示为:
sum=4 * i + 6 * j
product = i * (i + j ) * (i + 2 * j) * (i + 3 * j)
参考代码:
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, k, sum, product;
for (i = 1; i < 6; i++)//遍历首项
{
for (j = 1; j < 4; j++)//遍历公差
{
sum = 4 * i + 6 * j;
product = i * (i + j) * (i + 2 * j) * (i + 3 * j);
if (sum == 26 && product == 880)
{
for (k = 1; k <= 10; k++)
{
printf("%d\n", i);
i += j;
}
}
}
}
return 0;
}
运行结果: