실험 4-1-10 토끼 번식 문제 (15 점)

토끼 한 쌍은 생후 3 개월부터 매달 한 쌍의 토끼를 낳습니다. 작은 토끼가 3 개월까지 자라면 매달 한 쌍의 토끼를 낳습니다. 토끼가 죽지 않았다면, 첫 달에 태어난 한 쌍의 토끼가 총 토끼 수가 N 쌍에 도달하기 전에 적어도 처음 몇 개월까지 번식해야 할 수 있습니까?

입력 형식 :

한 줄을 초과하지 않는 10000양의 정수 를 입력하십시오 N.

출력 형식:

토끼의 총 수가 한 줄에 N에 도달하는 데 필요한 최소 개월 수를 출력합니다.

입력 샘플 :

30

샘플 출력 :

9

암호:

# include <stdio.h>
# include <stdlib.h>

int main() {
    
    
	int N;
	scanf("%d",&N);
	// 1,1,2,3满足斐波那契数列
	int a = 1,b = 1,max = 1,temp,month = 1;
	if (N == 1) {
    
    
		printf("%d",month);
	}else {
    
    
		month = 2;
		while(max < N) {
    
    
			temp = a;
			a += b;
			b = temp;
			max = (a >= b) ? a : b;
			month += 1;
		}
		printf("%d",month);
	}
	return 0;
}

스크린 샷 제출 :

여기에 사진 설명 삽입

문제 해결 아이디어 :

N=1출력은 0이 아니라 1 이라는 점에 유의해야합니다 . 나머지는 여전히 첩의 문제입니다!

추천

출처blog.csdn.net/weixin_43862765/article/details/114479629