Code tìm số Fibonacci thứ n ra kết quả sai ở số thứ 100

Mình code như sau, nhưng khi chạy với n = 100 thì nó ra số âm. Mọi người giúp mình với !!!

#include <stdio.h>
#include <stdlib.h>

int main()
{
    long int n, a, b, count = 1;
    long int c;
    a = b = 1;

    printf("Nhap n: ");
    scanf("%ld", &n);

    while (count <= n) {
        count++;
        c = a + b;
        printf("%ld\t", c);
        a = b;
        b = c;
    }
    return 0;
}
1 Like

F100 thì lớn quá rồi :slight_smile: xấp xỉ:
= ln(1.618)*100 - ln(sqrt(5)) - 32ln(2) > 25

mà 32ln2 < 22.4 nên 64 bit cũng không vừa.

2 Likes

Fibonacci (100) = 354224848179261915075
Số lớn quá nên cả long hay int đều không chứa nổi khiến in ra số âm nhé :smile:


Lần sau bạn đăng code nhớ Markdown và Fomat lại code nhé :wink:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?