【基礎算法】走10級樓梯題目解法總結

#include <bits/stdc++.h>
using namespace std;
//遞歸 
int handle1(int N){
	if(N == 1) return 1;
	if(N == 2) return 2;
	if(N > 2){
		return handle1(N-1)+handle1(N-2);
	}
	return 0;
}
//斐波那契數列 
int handle2(int n){
	n = n + 1;
	return  (1/sqrt(5))*(pow((1+sqrt(5))/2,n)-pow((1-sqrt(5))/2,n)) ;
}

int main(){
	int N;
	while(scanf("%d",&N)!=EOF){
 		printf("%d\n",handle1(N));
		printf("%d\n",handle2(N));
	}
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章