标签:block AC lang scanf 输入格式 hit lse tst htm
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?
输入在一行中给出一个不超过10000的正整数N。
在一行中输出兔子总数达到N最少需要的月数。
30
9
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int N; 6 int i; 7 int a = 1, b = 1; 8 9 scanf("%d", &N); 10 11 for ( i = 2; a < N && b < N; i++ ) { //兔子的只数恰好是一个Feibonacci数列 12 if ( i % 2 ) { 13 a = a + b; 14 } else { 15 b = b + a; 16 } 17 } 18 19 if ( N == 1 ) { 20 printf("1\n"); 21 } else { 22 printf("%d\n", i); 23 } 24 return 0; 25 }
标签:block AC lang scanf 输入格式 hit lse tst htm
原文地址:https://www.cnblogs.com/wangtiaoke/p/9253292.html