/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者:解晓东
* 完成日期:2012 年 11 月 5 日
* 版 本 号:v1.0
*
* 输入描述:
* 问题描述:年龄几何:张三、李四、王五、刘六的年龄成一等差数列,他们四人的年龄相加是26,相乘是880,
* 求以他们的年龄为前4项的等差数列的前20项。
* 提示: 设数列的首项为a,则前4项之和为"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 a, n;
int count = 0;
for(a = 1; a >= 1 && a <= 4; ++a)
{
for(n = 1; n <= 6 && n >= 1; ++n)
{
// cout << a << " " << n << endl;
if(10 == (4 * a + 6 * n) && (24 == n * (n + a) * (n + a + a) * (n + a + a + a)))
{
++count;
cout << "第"
<< count
<< "种方法:"
<< endl;
for(int val = 1; val <= 20; ++val)
{
cout << " "
<< val
<< " :"
<< (a + n * (val - 1))
<< endl;
}
}
}
}
return 0;
}
任务:年龄几何
最新推荐文章于 2020-08-06 13:09:34 发布