[問題] 大數的問題
以下是我的程式碼,可是如果我要輸入100或500這麼大的數字,
程式就會溢位,有什麼辦法可以讓程式跑像500這麼大的數字嗎?
#include<stdio.h>
#include<stdlib.h>
int fib(int);
int main(void)
{
int n;
do
{
printf("請輸入您想知道兔子數量的期數(1~500):");
scanf("%d",&n);
} while(n<1 ||n>500);
printf("fib(%d)=%d\n",n,fib(n));
}
int fib(int n)
{
if(n==1 ||n==2)
return 1;
else
return (fib(n-1)+fib(n-2));
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.208.135
→
05/26 23:09, , 1F
05/26 23:09, 1F
→
05/26 23:48, , 2F
05/26 23:48, 2F
推
05/26 23:54, , 3F
05/26 23:54, 3F
→
05/26 23:54, , 4F
05/26 23:54, 4F
推
05/27 00:23, , 5F
05/27 00:23, 5F
→
05/27 00:23, , 6F
05/27 00:23, 6F
→
05/27 00:50, , 7F
05/27 00:50, 7F
→
05/27 02:52, , 8F
05/27 02:52, 8F
→
05/27 02:54, , 9F
05/27 02:54, 9F
→
05/27 03:06, , 10F
05/27 03:06, 10F
→
05/27 03:06, , 11F
05/27 03:06, 11F
→
05/27 03:27, , 12F
05/27 03:27, 12F
→
05/27 03:41, , 13F
05/27 03:41, 13F
→
05/27 03:41, , 14F
05/27 03:41, 14F
→
05/27 04:26, , 15F
05/27 04:26, 15F
→
05/27 04:27, , 16F
05/27 04:27, 16F
→
05/27 04:27, , 17F
05/27 04:27, 17F
→
05/27 04:29, , 18F
05/27 04:29, 18F
→
05/27 04:30, , 19F
05/27 04:30, 19F
→
05/27 04:31, , 20F
05/27 04:31, 20F
→
05/27 04:32, , 21F
05/27 04:32, 21F
→
05/27 04:33, , 22F
05/27 04:33, 22F
→
05/27 04:34, , 23F
05/27 04:34, 23F
推
05/27 07:37, , 24F
05/27 07:37, 24F
→
05/27 09:36, , 25F
05/27 09:36, 25F
→
05/27 10:30, , 26F
05/27 10:30, 26F
→
05/27 10:30, , 27F
05/27 10:30, 27F
→
05/27 10:31, , 28F
05/27 10:31, 28F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章