/*    a                  b                          c       d

1  5                   5                    1

2  5                   5+5                2     1

3  5                    5+5+5            3     2     1

4  5+5                10+5+5                  3     2      1

5  10+5=15            15+10+5                   3      2     1

6  10+5+5=20          20+15+10                       3      2

7  20+10=30                                                           3                                             30+20+15

8  20+10+15=45                                                                                                    45+30+20

9  20+10+15+20=65                                                                                              65+45+30

10 20+10+15+20+30=95                                                                                       95+65+45

11 20+10+15+20+30+45=140                                                                               140+95+65

12 20+10+15+20+30+45+65=205                                                                         205+140+95

13 20+10+15+20+30+45+65+95=300                                                                   300+205+140

14 20+10+15+20+30+45+65+140=440                                                                 440+300+205

15 20+10+15+20+30+45+65+140+205=645                                                         645+440+300

16 20+10+15+20+30+45+65+140+205+300=745                                                 745+645+440

17 20+10+15+20+30+45+65+140+205+300+440=1185                                       1185+745+645

18 20+10+15+20+30+45+65+140+205+300+440+645=1830                               1830+1185+745

19 20+10+15+20+30+45+65+140+205+300+440+645+745=2575                       2575+1830+1185

20 20+10+15+20+30+45+65+140+205+300+440+645+745+1185=3760             3760+2575+1830

21 20+10+15+20+30+45+65+140+205+300+440+645+745+1185+1830=5590   5590+3760+2575

*/

//#include"stdio.h"

#include<iostream.h>

void add(int a,int aa1,int i1,int aa2,int i2,int aa3,int i3,int d)

{  int ab1=0,ab2=0,ab3=0,k1=0,k2=0,k3=0,x=0,x1=0,y=0,total=0,nd=0;

y=a; x1=aa3;

if(i1>=1&&i1<=d+1){

if(i1==1&&i2==0){

x=y;ab1=aa1;ab2=y;k2=i1;ab3=0;k3=i2;x=y;k1=i1+1;

//       printf("x=%d ab1=%d k1=%d ab2=%d k2=%d ab3=%d k3=%d\n",x,ab1,k1,ab2,k2,ab3,k3);

cout<<"x="<<x<<ends<<"ab1="<<ab1<<ends<<"k1="<<k1<<ends<<"ab2="<<ab2<<"k2="<<k2<<"ab3="<<ab3<<"k3="<<k3<<endl;

}

if(i1==2&&i2==1&&i3==0){

ab2=y;k2=i1;ab3=y;k3=i2;x=y;k1=i1+1;

//        printf("x=%d ab1=%d k1=%d ab2=%d k2=%d ab3=%d k3=%d\n",x,ab1,k1,ab2,k2,ab3,k3);

cout<<"x="<<x<<ends<<"ab1="<<ab1<<ends<<"k1="<<k1<<ends<<"ab2="<<ab2<<ends<<"k2="<<k2<<ends<<"ab3="<<ab3<<ends<<"k3="<<k3<<endl;

}

if(i1==3&&i2==2&&i3==1){

x=y;ab1=x;k1=1;ab2=y;k2=i1;ab3=y;k3=i2;

//      printf("x=%d ab1=%d k1=%d ab2=%d k2=%d ab3=%d k3=%d \n",x,ab1,k1,ab2,k2,ab3,k3);

cout<<"x="<<x<<ends<<"ab1="<<ab1<<ends<<"k1="<<k1<<ends<<"ab2="<<ab2<<ends<<"k2="<<k2<<ends<<"ab3="<<ab3<<ends<<"k3="<<k3<<endl;

}

else{           //  a=x   ab1=x1

if(i1==1&&i2==3&&i3==2){

x=y+aa3;ab1=x;k1=i1+1;ab2=aa1;k2=1;ab3=aa2;k3=i3+1;

//           printf("x=%d ab1=%d k1=%d ab2=%d k2=%d ab3=%d k3=%d\n",x,ab1,k1,ab2,k2,ab3,k3);

cout<<"x="<<x<<ends<<"ab1="<<ab1<<ends<<"k1="<<k1<<ends<<"ab2="<<ab2<<ends<<"k2="<<k2<<ends<<"ab3="<<ab3<<ends<<"k3="<<k3<<endl;

} //x=total;x1=total;

if(i2==1&&i3==3&&i1==2){

x=y+aa3;ab1=x;k1=i1+1;ab2=aa1;k2=i2+1;ab3=aa2;k3=1;

//         printf("x=%d ab1=%d k1=%d ab2=%d k2=%d ab3=%d k3=%d\n",x,ab1,k1,ab2,k2,ab3,k3);

cout<<"x="<<x<<ends<<"ab1="<<ab1<<ends<<"k1="<<k1<<ends<<"ab2="<<ab2<<ends<<"k2="<<k2<<ends<<"ab3="<<ab3<<ends<<"k3="<<k3<<endl;

}

if(i3==1&&i2==2&&i1==3){

x=y+aa3;ab1=x;k1=1;ab2=aa1;k2=i2+1;ab3=aa2;k3=i3+1;

//        printf("x=%d ab1=%d k1=%d ab2=%d k2=%d ab3=%d k3=%d\n",x,ab1,k1,ab2,k2,ab3,k3);

cout<<"x="<<x<<ends<<"ab1="<<ab1<<ends<<"k1="<<k1<<ends<<"ab2="<<ab2<<ends<<"k2="<<k2<<ends<<"ab3="<<ab3<<ends<<"k3="<<k3<<endl;

}

}

nd=d-1;

//      printf("Cow total is:%d %d\n",10-d+1,x);

cout<<"年份:"<<10-d+1<<ends<<"Cow total is:"<<x<<'\n';

add(x,ab1,k1,ab2,k2,ab3,k3,nd);

}

} void main(){

int n=5,j1=5,i1=1,j2=0,i2=0,j3=0,i3=0,ct=10;   //n:开始拥有母牛总数,j1:第一批新增小牛数,i1:第一批新增小牛生长年份,j2:第二批新增的小牛数,i2:第二批新增的小牛数生长年份,

//j3:第三批新增的小牛数,i3:第三批新增的小牛生长年份;ct:生长总年份。

add(n,j1,i1,j2,i2,j3,i3,ct);  // add(9,9,1,0,0,0,0,21); }

C++&C语言 -> //有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?的更多相关文章

  1. C语言基础四(敲打键盘、寻找资料,循环语句)请一个个字读,助于您的学会机率

    循环语句无非几种,常用的就有if()else()结构类型的,while(){}类型的,do(){}while(1);类型,switch()类型,for()类型. 而这章就将前面的所有知识全部汇总下运用 ...

  2. Shell脚本编程实战一:创建按天备份的脚本工具

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8241256.html 一:准备工作:创建归档目录 与  归档配置文件 归档目录:创建一个仓库目录,专门用于存放 ...

  3. 【C语言】一堆数组中存放了10个小于100的整数,请编程对所有数据按照从小到大的顺序进行排序,若个位数相等,则按照十位从小到大的顺序排序,输出排序后的结果

    分析:取余,判断个位是否相等,利用冒泡法排序 #include <stdio.h> int main() { ] = { ,,,,,,,,, };/*数组*/ int i, j, k; ; ...

  4. Hdoj 2018.母牛的故事 题解

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

  5. HDU 2018母牛的故事(类似斐波那契,找规律)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2018 母牛的故事 Time Limit: 2000/1000 MS (Java/Others)     ...

  6. HDU 2018 母牛的故事 [补]

    今天刚考完试,和杨曙光玩了RPG,实在不想看题了 /***************************************************/ 母牛的故事 Time Limit: 200 ...

  7. HDOJ2018母牛的故事

    母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  8. ACM YTU 2018 母牛的故事

    母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  9. HDOJ 2018 母牛的故事

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

随机推荐

  1. python环境开发

    Python3 下载 Python3 最新源码,二进制文档,新闻资讯等可以在 Python 的官网查看到: Python 官网:https://www.python.org/ 你可以在以下链接中下载 ...

  2. js—数字那些事儿

    进制之间互相转化 a=133 十进制转成其他进制 a.toString(num) a.toString(2); //转化成二进制,返回"10000101" a.toString(8 ...

  3. PMP--2.1 商业论证(经济可行性研究报告)

    ####################################################### PS:半个月没有更新文档,因为是有点单线程,在整理启动过程组和规划过程组的内容,在规划规 ...

  4. 初识matlab

    1 matlab概貌 MATLAB是MATrix LABoratory(矩阵实验室)的缩写,是一款由美国The MathWorks公司出品的商业数学软件.matlab是一种用于算法开发.数据可视化.数 ...

  5. 解决H5页面点击一瞬间出现灰色背景的问题

    H5页面有时会出现点击一瞬间出现灰色背景的问题(ios会,安卓不会),解决方法: 加上样式: -webkit-tap-highlight-color: transparent; 如果以上方法不行,则是 ...

  6. C#设计模式学习笔记:(7)桥接模式

    本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7699301.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲结构型设计模式的第二个模式--桥 ...

  7. python基础入门之一 —— 变量与运算符

    1.标识符 由数字,字母,下划线组成 不能由数字开头 不能使用内置关键字 严格区分大小 2.数据类型 数值:int (整型) float(浮点型) 布尔型:True(真) False(假) str ( ...

  8. JS数据类型和堆栈+变量比较和值的复制+参数传递和类型检测

    变量命名 变量名:字母 数字 下划线 美元符$ jquery:  $     $.each()   $ === jQuery underscore( js的一个函数库)  :   _     _.ea ...

  9. MySql学习-2. NavicatforMySQL 与 MySql的对接以及一些操作:

    1.连接: 2.数据库的创建: 3.数据库中表的创建:    4.表的设计: 4.1 设计表: 4.2 增加数据(自动递增只是保证唯一值,即使数据删除了也是得前进):

  10. Docker 网络原理

    引言 学习docker网络,可以带着下面两个问题来探讨 容器之间可以相互访问的原理 容器暴露端口后,通过宿主机访问到容器内应用,并且对于访问端而言不用感知容器存在的原理 Docker 本身的技术依赖L ...