本局部有点找法则的感觉,找到数学法则表达式就很容易实现这类题目,所以遇到递推不要急着写代码,先把法则找到!
有一块大小是 2 n 的墙面,当初须要用2种规格的瓷砖铺满,瓷砖规格别离是 2 1 和 2 * 2,请计算一共有多少种铺设的办法。
输出
输出的第一行蕴含一个正整数T(T<=20),示意一共有T组数据,接着是T行数据,每行蕴含一个正整数N(N<=30),示意墙面的大小是2行N列。
输入
输入一共有多少种铺设的办法,每组数据的输入占一行。
样例输出 Copy
3
2
8
12
样例输入 Copy
3
171
2731
代码示例(本人写的,只能过平台,不完满)
//#include<iostream>//#include<algorithm>//#include<string>//#include<string.h>//using namespace std;////int main(){// int t = 0;// scanf("%d",&t);// long long a[30];// a[1] = 1;// a[2] = 3;// while(t--){// int n = 0;// scanf("%d",&n);// for(int i = 3; i <= n; i++){// a[i] = a[i - 1] + 2 * a[i - 2];// }// cout << a[n] << endl;// }// return 0;//}
在一无限大的二维立体中,咱们做如下假如:
1、每次只能挪动一格;
2、不能向后走(假如你的目的地是“向上”,那么你能够向左走,能够向右走,也能够向上走,然而不能够向下走);
3、走过的格子立刻塌陷无奈再走第二次。
求走n步不同的计划数(2种走法只有有一步不一样,即被认为是不同的计划)。
输出
首先给出一个正整数C,示意有C组测试数据。
接下来的C行,每行蕴含一个整数n(n<=20),示意要走n步。
输入
请编程输入走n步的不同计划总数;
每组的输入占一行。
样例输出 Copy
2
1
2
样例输入 Copy
3
7
参考http://www.voidcn.com/article...
//#include<iostream>//#include<algorithm>//#include<string>//#include<string.h>//using namespace std;////int main(){// int t = 0;// int a[10000];// a[1] = 3;// a[2] = 7;// scanf("%d",&t);// while(t--){// int n = 0;// scanf("%d",&n);// for(int i = 3; i <= n; i++){// a[i] = 2 * a[i - 1] + a[i - 2];// }// cout << a[n] << endl;// }// return 0;//}
话说当初猪肉价格这么贵,小明也开始了养猪生存。说来也奇怪,他养的猪一出世第二天开始就能每天中午生一只小猪,而且生下来的居然都是母猪。
不过光生小猪也不行,小明采纳了一个很奇异的方法来治理他的养猪场:
对于每头刚出生的小猪,在它生下第二头小猪后立马被杀掉,卖到超市里。
假如在守业的第一天,小明只买了一头刚出生的小猪,请问,在第N天早晨,小明的养猪场里还存有多少头猪?
输出
测试数据的第一行是一个正整数T,代表测试数据的个数。接下来有T组测试,每组测试数据占一行,别离是一个正整数N,代表小明守业的第N天。(0<N<20)
输入
对于每组数据,请在一行里输入第N天早晨养猪场里猪的数目。
样例输出 Copy
2
2
3
样例输入 Copy
2
3
////http://www.voidcn.com/article/p-pfvdxemp-bqa.html//#include<iostream>//#include<algorithm>//#include<string>//#include<string.h>//using namespace std;////int main(){// int t = 0;// scanf("%d",&t);// int a[20];// a[1] = 1;// a[2] = 2;// while(t--){// int n = 0;// scanf("%d",&n);// for(int i = 3; i <= n; i++){// a[i] = a[i - 1] + a[i - 2];// }// cout << a[n] << endl;// }// return 0;//}
小明最近新买了一个房间,为了给它做装修,想要给它铺上地砖。然而现有的地砖只有两种规格别离为1米1米、2米2米,因为小明买的房间有点小,宽度只有3米,长度为N米。当然这样一个房间也足够他本人一个人住了。那么如果要给这个房间铺设地砖,且只用以上这两种规格的地砖,请问有几种铺设计划。
输出
输出的第一行是一个正整数C,示意有C组测试数据。接下来C行,每行输出一个正整数n(1<=n<=30),示意房间的长度。
输入
对于每组输出,请输入铺设地砖的计划数目。
样例输出 Copy
2
2
3
样例输入 Copy
3
5
////http://www.voidcn.com/article/p-pfvdxemp-bqa.html//#include<iostream>//#include<algorithm>//using namespace std;////int main(){// int t = 0;// scanf("%d",&t);// long long a[30];// a[1] = 1;// a[2] = 3;// while(t--){// int n = 0;// scanf("%d",&n);// for(int i = 3; i <= n; i++){// a[i] = a[i - 1] + 2 * a[i - 2];// }// cout << a[n] << endl;// }// return 0;//}