[解题报告]Bees' ancestors
题目大意
题目原文:http://uva.onlinejudge.org/external/124/12459.pdf
背景
Maya 知道雌蜂有双亲 (一个爸爸和一个妈妈),但是雄蜂则只有一个妈妈而没有爸爸。这是因为未交配的雌蜂所产的卵会孵出雄蜂,但是受精的卵则会孵出雌蜂。
在 Maya 晓以大义之后,Willy 开始好奇他有多少祖先。他有一个妈妈,两个祖父母 (一个祖父和一个祖母)。他也有三个曾祖父母。因为 Willy 很懒,不想做太多计算,他要请你写个程序来帮他计算某一代的祖先一共有几个。假设同一代的祖先之间没有亲戚关系。
算法:
发现规律之后把80种情况都求出来便可以了。
代码:
这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。
1 #include<stdio.h> 2 int main(void) 3 { 4 long a[81]; 5 int i,n; 6 a[0]=1; 7 a[1]=1; 8 9 10 for(i=2;i<=80;i++) 11 a[i]=a[i-1]+a[i-2]; 12 13 while(scanf("%d",&n)) 14 { 15 if(n==0)break; 16 printf("%ld\n",a[n]); 17 } 18 return 0; 19 20 }