http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=3532
爬樓梯的問題就是求費是數列 第2個方法是利用排列組合的公式 x+2y=n 例如n=3時 有x=1,3 y=1,0 (2/1!*1!)+(3!/3!)
#include<stdio.h>
unsigned long long cul(unsigned long long n){
unsigned long long i=2,tot=1;
for(;i<=n;i++)tot*=i;
return tot;}
int main(){
unsigned long long i,j,n,tot=0,num;
scanf("%llu",&n);
if(n%2==0){
i=0;
j=n/2;}
else {
i=1;
j=(n-1)/2; }
for(;i<=n;i+=2,j--)
tot+=cul(i+j)/(cul(i)*cul(j));
printf("%llu\n",tot);
/*
題目:[C_RU10-中] 爬樓梯
作者:1010
時間:西元 2016 年 7 月 */
}
#include<stdio.h>
int main(){
int fib[20],i,n;
fib[0]=1,fib[1]=2;
for(i=2;i<20;i++)
fib[i]=fib[i-1]+fib[i-2];
while(scanf("%d",&n)!=EOF)
printf("%d\n",fib[n-1]);
/*
題目:C_MM205-易 爬樓梯
作者:1010
時間:西元 2016 年 7 月 */
}