您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N行数据,每行包含两个整数a和b(0ab50)。Output对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。SampleInput21236SampleOutput13#includeiostreamusingnamespacestd;intmain(){_int64a,b,n,i,f[50]={0,1,2};cinn;for(i=3;i50;i++)f[i]=f[i-1]+f[i-2];for(i=0;in;i++){cinab;coutf[b-a]endl;}return0;}#includestdio.h#includemath.hintmain(){intN,m,n,i,t;doublea[52]={1,1,2,3};for(i=4;i=51;i++)a[i]=a[i-1]+a[i-2];scanf(%d,&N);while(N--){scanf(%d%d,&m,&n);t=abs(n-m);printf(%.0lf\n,a[t]);}return0;2}有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?Input输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0n55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。Output对于每个测试实例,输出在第n年的时候母牛的数量。每个输出占一行。SampleInput2450SampleOutput246#includeiostreamusingnamespacestd;intmain(){//freopen(input.txt,r,stdin);inti,n;while(true){cout请输入年数n=;cinn;//coutendl;if(n==0)break;intf1=1,f2=1,f3=1;for(i=4;i=n;++i){inttemp=f1+f3;f1=f2;f2=f3;f3=temp;}coutf3endlendl;;}return0;}很容易转换成递归方法:#includeiostreamusingnamespacestd;intf(intn){if(n4)return1;elsereturnf(n-1)+f(n-3);}intmain(){//freopen(input.txt,r,stdin);intn;while(true){cout请输入年数n=;cinn;//coutendl;if(n==0)break;coutf(n)endlendl;;}return0;}
本文标题:有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房
链接地址:https://www.777doc.com/doc-1732168 .html