andy6804tw
7/19/2016 - 12:40 AM

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

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 月 */
}