reborn_tou 2016-10-09 11:25 采纳率: 50%
浏览 1301
已采纳

C语言小蜜蜂问题,自己在编译器可行,但是提交超时,求问如何改?

图片说明#include
#include

int num(int count){

if(count>2)
    return (num(count-1)+num(count-2));
else
    return count;

}

int main() {

int N,a[50],b[50],count;
int i=0,j=0,roads;

scanf("%d",&N);
//INPUT
for(i=0;i<N;i++){
    scanf("%d%d",&a[i],&b[i]);
    if( 0<a[i] && a[i]<b[i] && b[i]<50)
        continue;
    else
        i--;
}
//OUTPUT
for(j=0;j<N;j++){
    count=b[j]-a[j];
    roads=num(count);
    printf("%d\n",roads);
}
return 0;

}

  • 写回答

2条回答 默认 最新

  • 祈祷爱绝缘 2016-10-10 08:44
    关注

    如苏小喵的给的那个网址。

    如果a-b的绝对值相同的话,线路数是相同的,类似是一种情况

    如果绝对值是1路线数是1 如果是2 路线数是2 如果是3 路线数是3.....

    有两个位置可以走到最后一个位置,那么走到最后一个位置的路线数就是走到这两个位置的路线数的和,

    递推过程出来了,递推公式很容易写出:

    F(i) = F(i-1) + F(i-2)

    这不就是一个斐波那契数列么?

    先提前做好一个斐波那契数列的数组F,然后直接输出F[b-a]就OK了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵