回 帖 发 新 帖 刷新版面

主题:斐波那契数列 和Runtime Error

这是我在我们学校OJ上做的一个题目

斐波那契数列是如下的一个数列,0,1,1,2,3,5……,其通项公式为F(n)=F(n-1)+F(n-2),(n>=2) ,其中F(0)=0,F(1)=1,你的任务很简单,判定斐波契数列的第K项是否为偶数,如果是输出YES,否则输出NO 
Input第一行,T,表示有T个测试样例。
接下来T行,每行一个数据K(0<=K<=10^10000),表示要判定的是哪一项。Output如果第K项是偶数,输出YES,否则输出NO。
这是我的代码:

#include <stdio.h>
int GetFibona(int n);
void main()
{
  int i=0,k[10],n,tem[10];
  scanf("%d",&n);
  while(i<n){scanf("%d",&k[i]) ;i++;}
  for(i=0;i<n;++i)
  {tem[i]=GetFibona(k[i]);
   if(tem[i]%2==0)printf("YES\n");
   else printf("NO\n");
   }  
}
int GetFibona(int n)
{
 if(n==1)return 0;
 else if(n==2) return 1;
 else return GetFibona(n-1)+GetFibona(n-2);
}    
提交后却显示Restricted Function 这是为什么了?
那位大虾HELP ME 指出问题后优化一下

回复列表 (共5个回复)

沙发

//楼主的代码没有错哈,不知道楼主用的是什么编译器,我的是VC6.0
//以下是我在楼主的代码基础上,加上几句提示语,不然都不知道一个黑屏出来,什么都没提示,都
//不知道要输入什么。
#include <stdio.h>

int GetFibona(int n);

void main()
{
    int i=0, k[10], n, tem[10];

    printf("需要测试的数据个数:");
    scanf("%d",&n);
    while(i < n)
    {
        printf("第%d个数据:", i + 1);
        scanf("%d", &k[i]);
        i++;
    }
    printf("\n");
    for(i=0; i<n; ++i)
    {
        tem[i] = GetFibona(k[i]);
        printf("第%d个数据:%d\t", i + 1, k[i]);
        printf("斐波那契的值为:%d\t", tem[i]);
        if(tem[i] % 2 == 0) printf("YES\n");
        else printf("NO\n");
        printf("\n");
    }  
}

int GetFibona(int n)
{
    if(n == 1)return 0;
    else if(n == 2) return 1;
    else return GetFibona(n-1) + GetFibona(n-2);
}

板凳

可能是堆栈溢出了吧,别用系统分配的数组,自己在堆上申请一段内存存储试试

3 楼

2楼能讲讲不?关于Restricted Function

4 楼



Always set [url=http://www.mmopowerlevel.net]wow power leveling[/url] auctions for 24 hours and put a buyout price about 4-6x the value to an NPC vendor 

(again check the Auction House current prices so you dont over or under value your items) ... the [url=http://www.mogxe.com/PowerLevel.php?gid=1]wow power 

leveling[/url] buyout price allows impatient bidders a way of getting their items quickly - and your money faster. 
Mail your major items to your mule for [url=http://www.mmopowerlevel.net/powerlist.php?fid=688]wow power leveling[/url] Auction House Placement, dump the 

rest of the garbage ontot he NPC vendor. 
Each stack will sell at Auction House [url=http://www.mmopowerlevel.net/buy.php]world of warcraft gold[/url] for 5-10s per stack easily and up to 20s per 

stack if the demand is right, low level "green" items 5-10s each. 
My first (and still main) toon [url=http://www.mmopowerlevel.net/buy.php]best wow gold[/url] never got anywhere near this cash return so early (mage, miner 

engineer) ... my current level 10 gatherer is getting 1g per 2 hours of game time (mixing it up with questing and general fun) .... a concentrated 

[url=http://www.mmopowerlevel.net/buy.php]cheapest wow gold[/url] effort should nett close to 1g per hour - a huge return for a low level character me 

thinks.

5 楼

Restricted Function
这个可能是说你用了某个函数,但这个函数却是你们学校OJ所禁止使用的。(比如qsort之类,一般都可能会禁用)
关于这个,你可以看看学校OJ的介绍。

我来回复

您尚未登录,请登录后再回复。点此登录或注册