/*
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者:孙红蕾
* 完成日期:2012 年 11 月 8 日
* 版 本 号:v1.0
*
* 输入描述:无
* 问题描述:张三,李四,王五,刘六的年龄成等差数列,四人年龄之和是26,之积880,求以四人年龄为前四项的等差数列的前20项。
* 程序输出:以四人年龄为前四项的等差数列的前20项。
* 问题分析:设数列的首项为 n,公差为 a,同时“1<=a<=4”,“1<=n<=6”。
* 算法设计:略
*/
#include <iostream>
using namespace std;
int main ()
{
int n,a,A,i;
cout <<"该等差数列的前20项为:"<<endl;
for (n=1;n<=6;n++) //n的范围
{
for (a=1;a<=4;a++) //a的范围
{
if (4*n+6*a==26 && n*(n+a)*(n+2*a)+(n+3*a)==880) //判断条件
{
if (i<20)
{
A=n;
A+=a;
i++;
}
}
}
}
cout <<A<<" "<<endl; //输出等差数列
return 0;
}
输出结果:
心得体会:运行结果怎么会是这样?