#6234: 請問...這樣是遞迴過深嗎?


temprr (temprr)

學校 : 不指定學校
編號 : 23347
來源 : [61.230.8.164]
最後登入時間 :
2012-04-04 13:15:24
a044. 空間切割 -- 許介彥 | From: [61.230.10.208] | 發表日期 : 2012-01-16 10:51

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<math.h>
int recur1(int n);
int recur2(int n);
int recur3(int n);
int main(void)
{
    int i;
    while(scanf("%d",&i)!=EOF)
    {
                                  printf("%d\n",recur1(i));
    }
    scanf(" ");
    return 0;
}
int recur1(int n)
{
    if(n==1)
    {
            return 2;
    }
    else
    {
        return recur1(n-1)+recur2(n-1);
    }
}
int recur2(int n)
{
    if(n==1)
    {
            return 2;
    }
    else
    {
        return recur2(n-1)+recur3(n-1);
    }
}
int recur3(int n)
{
    if(n==1)
    {
            return 2;
    }
    else
    {
        return recur3(n-1)+1;
    }
}
 
請問一次最好不要call太多function or 做太多次遞迴嗎?
因為傳了以後吃了TLE... 
 
ZeroJudge Forum