Çözüldü C++ Fibonacci kodunda hatam ne?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
3 Aralık 2017
Mesajlar
2.542
Makaleler
1
Çözümler
34
Atıyorum 144 değerini girdiğimde ilk loop'da doğru sonuç veriyor. 2.kez 144 girdiğimde sapıtıyor. Bunun sebebi ve çözümü nedir?

C++:
#include <stdio.h>

int main(void) {
    int terim;

    while (1) {
        int a = 0, b = 1;
        printf("terim: "); scanf("%d", &terim);
       
        if (terim == 0) {
            printf("  terim numarasi: 1\n");
            printf("terimler toplami: 0\n");
            continue;
        } else if (terim == 1) {
            printf("  terim numarasi: 2 veya 3\n");
            printf("terimler toplami: 1 veya 2\n");
            continue;
        }

        int toplam  = 1;
        int counter = 2;
        int next_terim;  
        printf("%d, %d, ", a, b);

        while (1) {
            if (terim == next_terim) {
                break;
            }
           
            if (terim < next_terim) {
                printf("\naga yok ya :c\n");
                break;
            }
   
            next_terim = a + b;
            a = b;
            b = next_terim;
           
            counter++;
            toplam += next_terim;
           
            printf("%d, ", next_terim);          
        }

        if (terim == next_terim) {
            printf("\n  terim numarasi: %d\n", counter);
            printf(  "terimler toplami: %d\n", toplam);
        }
    }
   
    return 0;
}
 
Son düzenleyen: Moderatör:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı