递归算法——农夫养牛之动归

 1 /**
 2  * Created by Administrator on 14-5-15.
 3  */
 4 public class NewCow_DP {
 5     public static void main(String[] args){
 6         int[] cows=new int[31];
 7         cows[1]=1;
 8         cows[2]=1;
 9         cows[3]=2;
10         for(int i=4;i<=30;i++){
11             cows[i]=cows[i-1]+cows[i-3];
12         }
13         for(int i=1;i<=30;i++)
14             System.out.println(i+"年后有牛:"+cows[i]);
15     }
16 }

递归算法——农夫养牛之动归,布布扣,bubuko.com

时间: 2024-10-12 16:05:16

递归算法——农夫养牛之动归的相关文章

递归算法——农夫养牛

1 /** 2 * Created by Administrator on 14-5-13. 3 * 一个农夫养了一头牛,三年后,这头牛每年会生出1头牛, 4 * 生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢? 5 */ 6 public class NewCow { 7 public static void main(String[] args){ 8 for(int i=1;i<30;i++) 9 { 10 System.out.print(i+"年后有牛

转一下递归

递归专题:我个人认为递归是算法中很重要的武器,虽然递归的效率很慢,但他是我们学习其他算法的基础,而递归这一算法又很抽象,也很难调试,所以我认为我有必要要这里好好理解递归这一有力的武器..表达式的转化:#include<cstdio>#include<iostream>#include<math.h>#include <string>using namespace std; double calc(){    char s[10];    cin>>

动态规划之线性动归

线性规划是一类问题.目标函数为特定变量的线性函数,约束是这些变量的线性不等式(standard form)或等式(slack form),目的是求目标函数的最大值或最小值.这类动态规划是平时比较常见的一类动态规划问题. 一.钢条切割问题: 假设公司出售一段长度为i英寸的钢条的价格为Pi(i = 1, 2, -单位:美元),下面给出了价格表样例: 长度i  1  2  3  4  5 6 7 8 9 10 价格Pi  1 5 8 9 10 17 17 20 24 30 切割钢条的问题是这样的:给定

POJ3278农夫和牛(dfs)

题目: 现有一农夫和一母牛,假设农夫和母牛都站在一条数轴上,农夫开始的位置为N,母牛的位置为K.农夫有三种行动方式,每行动一次需要一秒钟时间,假设农夫的现在的位置为X,他可以向前走一格到X+1,也可以向后走一格走到X-1,他还可以传送!一下子走到了2*X.那么我们的问题是,假设母牛不会动,农夫最少需要多少秒才能抓到母牛? 输入: 输入包括两个整数,用空格隔开,分别为N和K.其中0<=N,K<=100000. 输出: 一个整数T,代表农夫所需的最少时间. 分析: 若N=5,K=17,那么最后我们

农夫过河

#include <iostream>//#include <windows.h>#define STEP 20using namespace std;int m=0,n=0;/*m为take函数执行次数,n为for循环次数*/int a[STEP][4];/*0狼 1羊 2菜 3人*/int b[STEP];int count = 0;void disp(int s, int n);void take(int step);void farmer() { int i, j; for

RDVECore来自锐动的无UI,高度抽象化API的视频编辑SDK--IOS版

1 编写目的 预期读者: 有视频编辑开发经验或者无经验的,打算或者正在使用"锐动IOS版RDVECore"的相关工程师. iOS软件工程师. 产品经理. QA 2 名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x720,640x480等. 帧率:每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数. 码率: 数据传输时单位时间传送的数据位数,一般我们用的

动软代码生成器 可用于生成Entity层,可更改模板 /codesmith 也可以

动软代码生成器官方下载地址:http://www.maticsoft.com/download.aspx 教程:http://jingyan.baidu.com/article/219f4bf7dfda86de442d380b.html codesmith  用法实例:http://www.cnblogs.com/huangcong/archive/2010/06/14/1758201.html

论动软代码生成器的好与坏

曾几何时,动软代码生成器是一种非常方便的工具,很多从事C#语言的开发人员都用过这个工具,当然也包括楼主本人. 以往的开发模式都是围绕数据库为中心展开的,先设计好数据库,然后再编写代码.动软代码生成器就是在这样的背景下诞生的. 你只要设计好数据库模式,然后用动软代码生成器一键生成数据访问层代码,非常方便.(虽然动软有业务层,但我认为那是鸡肋,只不过是数据访问层的一层简单包装,没有实际意义) 这对不想手动编写枯燥乏味的数据库操作的开发人员来说,非常有吸引力. 下面楼主凭借自己的经验,从好与坏两个方面

POJ 2955 Brackets (动规)

Brackets Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2999   Accepted: 1536 Description We give the following inductive definition of a "regular brackets" sequence: the empty sequence is a regular brackets sequence, if s is a reg