#5262: C語言如何打??這樣不行??


ltcjonathan (淇)

學校 : 臺北市立建國高級中學
編號 : 18984
來源 : [114.42.224.190]
最後登入時間 :
2011-09-19 21:08:13

#include<stdio.h>
int f(int n)
{   
    if(n>1)
    return n*f(n-1);
    else
    return 1; 

int main()
{
   int a,n;
   do
   {scanf("%d",&n); 
    a=f(2*n)/(f(n)*f(n))-f(2*n)/(f(n-1)*f(n+1));   
    printf("%d\n",a);
   }while(1);   
}
#5267: Re:C語言如何打??這樣不行??


abcd6891 (曄哥)

學校 : 國立花蓮高級中學
編號 : 3565
來源 : [61.231.222.61]
最後登入時間 :
2024-09-16 11:43:21

#include
int f(int n)
{   
    if(n>1)
    return n*f(n-1);
    else
    return 1; 

int main()
{
   int a,n;
   do
   {scanf("%d",&n); 
    a=f(2*n)/(f(n)*f(n))-f(2*n)/(f(n-1)*f(n+1));   
    printf("%d\n",a);
   }while(1);   
}


第一點 這是無窮迴圈

 

第二點,這裡的題目如果純用函數遞迴解很容易爆記憶體。 

#5407: Re:C語言如何打??這樣不行??


benny30912 (綻放笑顏)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 13968
來源 : [140.120.80.131]
最後登入時間 :
2015-04-17 08:29:08

#include
int f(int n)
{   
    if(n>1)
    return n*f(n-1);
    else
    return 1; 

int main()
{
   int a,n;
   do
   {scanf("%d",&n); 
    a=f(2*n)/(f(n)*f(n))-f(2*n)/(f(n-1)*f(n+1));   
    printf("%d\n",a);
   }while(1);   
}


我用排列組合的數格子法

因為感覺用階乘很容易爆