问题及代码:
/*
*copyright (t) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:main.cpp
*作者:郝昱猛
*完成日期:2016年3月20日
*版本号:v1.0
*问题描述:
年龄几何:张三、李四、王五、刘六的年龄成一等差数列,
他们四人的年龄相加是 26,
相乘是 880,求以他们的年龄为前 4项的等差数列的前 20项。
提示:设数列的首项为 n,项差为 a,
则前 4项之和为 n+(n+a)+(n+a+a)+(n+a+a+a)=4*n+6*a",
前 4项之积为 n*(n+a)*(n+a+a)*(n+a+a+a)。
同时有 1<=a<=4和 1<=n<=6。可采用穷举法求出此数列。*/
#include<iostream>
using namespace std;
int main()
{
int n,a;
int b;
for (n=1; n< 6; n++)
{
for(a=1;a<4;a++)
{
if((n*4+a*6)==26&&(n*(n+a)*(n+2*a)*(n+3*a))==880)
{
b=1;
break;
}
}
if(b==1)
break;
}
int s;
s=20*n+(20*(20-1)/2)*a;
cout << s<<endl;
return 0;
}
运行结果: