问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:age.cpp
* 作 者:李楠
* 完成日期:2014年10月25日
* 版 本 号:v1.0
*
* 问题描述:张三、李四、王五、刘六的年龄成等差数列,他们四人的年龄相加是26,相乘是880,求以他们的年龄为前四项的前二十项分别为多少。
* 输入描述:略
* 程序输出:20个整数分别表示前20项
*/
#include <iostream>
using namespace std;
int main()
{
int a,n,count=0,p,d;
for(a=1;a>=1&&a<=4;a++)
for(n=1;n>=1&&n<=6;n++)
for(d=1;d<=20;++d)
if(4*n+6*a==26&&n*(n+a)*(n+2*a)*(n+3*a)==880)
{
++count;
p=n+a*d;
cout<<count<<":"<<p<<endl;
}
return 0;
}
运行结果:
知识点总结:
在写程序的过程中,出现了许多小问题,一开始没有写for(d=1;d<=20;++d) 总是没有结果,后来经过改正,程序正常运行。
学习心得:
写程序时考虑要周全,不能丢三落四,程序运行出来了,心情才舒畅嘛~