1044 - 小明养猪的故事
时间限制 : 1 秒
内存限制 : 32 MB
话说现在猪肉价格这么贵,小明也开始了养猪生活。说来也奇怪,他养的猪一出生第二天开始就能每天中午生一只小猪,而且生下来的竟然都是母猪。
不过光生小猪也不行,小明采用了一个很奇特的办法来管理他的养猪场:
对于每头刚出生的小猪,在它生下第二头小猪后立马被杀掉,卖到超市里。
假设在创业的第一天,小明只买了一头刚出生的小猪,请问,在第N天晚上,小明的养猪场里还存有多少头猪?
题目输入
测试数据的第一行是一个正整数T,代表测试数据的个数。接下来有T组测试,每组测试数据占一行,分别是一个正整数N,代表小明创业的第N天。(0<N<20)
题目输出
对于每组数据,请在一行里输出第N天晚上养猪场里猪的数目。
输入/输出样例
输入格式
2 2 3
输出格式
2 3
C语言解答
#include<stdio.h> int main() { int t,i,n,a[20]; a[0]=1; a[1]=2; for(i=2;i<19;i++) a[i]=a[i-1]+a[i-2]; scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%d\n",a[n-1]); } return 0; }
C++解答
#include<stdio.h> int main() { int t,i,n,a[20]; a[0]=1; a[1]=2; for(i=2;i<19;i++) a[i]=a[i-1]+a[i-2]; scanf("%d",&t); while(t--) { scanf("%d",&n); printf("%d\n",a[n-1]); } return 0; }
Java解答
import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Scanner; import java.math.*; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); String[] zong = in.nextLine().split(" "); int start = Integer.parseInt(zong[0]); for(int i=0;i<start;i++){ String[] zong1 = in.nextLine().split(" "); int c=Integer.parseInt(zong1[0]); System.out.println(jc(c)); } } public static int jc(int i) { int k = 0; if (i == 0) // 0的阶乘=1 return 1; else if (i > 0) {// 0继续递归 k = jc(i - 2) + jc(i - 1); } return k; } }
Python解答
for i in range(0, int(input())): a = [1, 2] * 10 j = int(input()) for n in range(2, j): a[n] = a[n - 1] + a[n - 2] print a[j - 1]