01/10/2018, 17:18

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	", c);
        a = b;
        b = c;
    }
    return 0;
}
rogp10 viết 19:27 ngày 01/10/2018

F100 thì lớn quá rồi 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.

Nguyễn Đình Anh viết 19:26 ngày 01/10/2018

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é


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

Làm sao để có thể hiển thị syntax highlighting bằng markdown? Các bạn phải đánh dấu ``` như ví dụ dưới đây Chú ý, dấu ``` được tạo ra bởi nút nằm bên trái số 1 trên bàn phím, nút này sẽ là ~ khi bấm giữ Shift Ví dụ cho C Nội dung: ``` void main() { } ``` Và đừng quên ``` ở cuối Kết quả void main() { } Ví dụ cho Pascal Nội dung: ``` Program HelloWorld; Begin WriteLn('Hello world!') {no ";" is required after the last statement of a block - adding one adds a "null stateme…

Bài liên quan
0