若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年有多少头母牛?
如下为代码:
#include <iostream>
#include <vector>
#include <fstream>
int main(int argc, char* argv[])
{
vector<double> cow_count;//存放每年出生的母牛数
int year=0;//母牛活了多少年
double sum_temp=0;//临时变量
cow_count.push_back(1);//把第一头母牛存入vector(cow_count),计算用,不是哪年生的。
cout<<"请您输入第一头母牛的年龄:"<<endl;
cin>>year;
for (int ix=1;ix<=year;ix++)
{
if (ix<4)//当年数小于四时无母牛出生
cow_count.push_back(0);
if (ix>=4 && ix<7)//当年数大于四小于七时每年出生一头
{
cow_count.push_back(1);
}
else
{
if(ix>=7)
{
sum_temp=0;
for (int jx=0;jx<=ix - 4;jx++)//当年数大于七时,出生奶牛为够四年母牛数目。
{
sum_temp=sum_temp+cow_count[jx];
}
cow_count.push_back(sum_temp);
}
}
}
ofstream file("d://cow.txt");
for (int kx=1;kx<=year;kx++)
{
sum_temp=0;
for (int lx=0;lx<=kx;lx++)
{
sum_temp=sum_temp+cow_count[lx];
}
//输出到第n年母牛数目,第n年出生的母牛数目,活了n年母牛数目
file<<"到第"<<kx<<"年母牛数目:"<<sum_temp<<" || ";
file<<"第"<<kx<<"年出生牛数目:"<<cow_count[kx]<<" || ";
file<<"活了"<<kx<<"年母牛牛数目:"<<cow_count[year - kx]<<endl;
}
return 0;
}