母牛问题。

来源:互联网 发布:免费制作图片软件 编辑:程序博客网 时间:2024/06/11 06:48

若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第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;
}