Experimento 4-1-10 problema de criação de coelho (15 pontos)

Um par de coelhos dará à luz um par de coelhos todos os meses a partir do terceiro mês após o nascimento. Depois que os coelhinhos crescem até o terceiro mês, eles dão à luz um par de coelhos todos os meses. Se os coelhos não estão mortos, um par de coelhos nascidos no primeiro mês precisa se reproduzir pelo menos até os primeiros meses antes que o número total de coelhos possa atingir N pares?

Formato de entrada:

Insira 10000um número inteiro positivo que não exceda uma linha N.

Formato de saída:

Produza o número mínimo de meses necessários para que o número total de coelhos atinja N em uma linha.

Amostra de entrada:

30

Saída de amostra:

9

Código:

# 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;
}

Enviar captura de tela:

Insira a descrição da imagem aqui

Ideias para resolução de problemas:

Deve-se notar que N=1a saída é 1 em vez de 0. Quanto ao resto, ainda é o problema da concubina!

Acho que você gosta

Origin blog.csdn.net/weixin_43862765/article/details/114479629
Recomendado
Clasificación