老师布置作业“牛"的问题

来源:互联网 发布:不亦宜乎的宜什么意思 编辑:程序博客网 时间:2024/05/01 13:25
       如果有一头母牛一年可以生一头小牛小牛四年后可以变成母牛。问10年以后一共有多少头牛(假设生的全是母牛)
下面是我的实现方法:

#include "stdafx.h"
#include <iostream>
using namespace std;

double s1=11;//定义为全局变量11为第一代小牛数和加上第一头母牛
double s2=1;//定义为全局变量s2其中第四代小牛有一头
double s3=0;//定义为全局变量s3
double s4=0;//
double s5=0;
double a=1;//定义全局变量表示公差
double cow1(int i)
{
 s1+=(i*a+i*(i-1)/2);//第一二代小牛加上根(母牛)总数
 return s1;
}
double cow2(int j)//第1代中的第一头第二代所生的第三代和第四代的总数
{
 s2 +=(j*a+j*(j-1)/2);
 return s2;
}
double cow3(int k)//第一代中的第二头第二代所生的第三代的总数
{
 s3+=(k*a+k*(k-1)/2);
 return s3;
}
double cow4(int h)//第一代中的第三头第二代所生的第三代的总数
{
 s4+=(h*a+h*(h-1)/2);
 return s4;
}
double cow5(int y)///第一代中的第四头头第二代所生的第三代的总数
{
 s5+=(y*a+y*(y-1)/2);
 return s5;
}
int main(int argc, char* argv[])
{
 cow1(7);//第一代一共有7头可以有第二代
 cow2(4);//第一头的第二代一共有4头可以有第三代
 cow3(3);//第二头的第二代一共有3头可以有第三代
 cow4(2);//第三头的第二代一共有2头可以有第三代
 cow5(1);//第四头的第二代一共有1头可以有第三代
 cout<<"the cow  have"<<s1+s2+s3+s4+s5<< endl;//输出牛的总数
 return 0;
}
期待更好的算法
原创粉丝点击