피보나치 수열 문제-토끼 번식 문제-c언어-c++-고전 문제-프로그래밍

1199 단어 매일 재미 코드
이전에 많은 이 문제의 해법을 보았는데 오늘 연구를 해 보니 문제가 바뀌면 얼마나 많은 수량을 요구하는지 적어도 몇 달은 걸렸다. 인터넷에서 단락 코드를 찾았는데 많은 문제가 있다는 것을 발견하고 스스로 다시 썼다.
제목은 한 쌍의 토끼를 묘사하는데 태어난 지 3개월째부터 매달 한 쌍의 토끼를 낳는다.새끼 토끼는 3개월 만에 매달 한 쌍의 토끼를 낳는다.만약 토끼가 모두 죽지 않는다면, 첫 달에 태어난 한 쌍의 토끼는 적어도 몇 달까지 번식해야 토끼의 총수가 N 쌍에 이를 수 있습니까?설명 입력 한 줄에 10000을 넘지 않는 양의 정수 N을 입력합니다.출력 설명은 한 줄에서 토끼의 총 수가 N에 이르는 데 가장 적은 달을 출력합니다.샘플 30 출력 샘플 9 입력
c 언어 버전:
#include
long fun(int month)
{
    if(month == 1 || month == 2)
        return 1;
    else
        return fun(month - 1) + fun(month -2);	
}
int main()
{
	int n,sum=0,mon=0;
	scanf("%d",&n);
	do{
		mon++;
    if(mon == 1 || mon == 2)
        sum=1;
    else
        sum=fun(mon - 1) + fun(mon -2);
	}
	while(sum

c++ 버전:
#include
using namespace std;
long fun(int month)
{
    if(month == 1 || month == 2)
        return 1;
    else
        return fun(month - 1) + fun(month -2);	
}
int main()
{
	int n,sum=0,mon=0;
	cin>>n;
	do{
		mon++;
    if(mon == 1 || mon == 2)
        sum=1;
    else
        sum=fun(mon - 1) + fun(mon -2);
	}
	while(sum

좋은 웹페이지 즐겨찾기