问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:count.cpp
*作 者:单昕昕
*完成日期:2014年10月27日
*版 本 号:v1.0
*
*问题描述:四人年龄成等差数列,相加为26,相乘为880,求以他们的年龄为前四项的等差数列的前20项。
*程序输出:等差数列的前20项。
*/
#include <iostream>
using namespace std;
int main()
{
int n,a,count=0;
cout<<"数列为:"<<endl;
for(n=1; n<=6; n++) //穷举数列首项的全部情况
for(a=1; a<=4; a++) //穷举等差数列公差的全部情况
if((n+(n+a)+(n+a+a)+(n+a+a+a)==26)&&(n*(n+a)*(n+a+a)*(n+a+a+a)==880))//判断输出成立的条件
{
++count;
cout<<"方案"<<count<<": "<<n<<", "<<n+a<<", "<<n+a*2<<","<<n+a*3<<", "<<n+a*4<<", "<<n+a*5<<", ";
cout<<n+a*6<<", "<<n+a*7<<", "<<n+a*8<<", "<<n+a*9<<", "<<n+a*10<<", ";
cout<<n+a*11<<", "<<n+a*12<<", "<<n+a*13<<", "<<n+a*14<<", "<<n+a*15<<", ";
cout<<n+a*16<<", "<<n+a*17<<", "<<n+a*18<<", "<<n+a*19<<endl;//输出方案
}
return 0;
}
运行结果:
知识点总结:
利用count函数穷举。
学习心得:
不会让它自动输出前三十项。。。是手动的。。求指教~~