özgün deniz
Kilopat
- Katılım
- 3 Aralık 2017
- Mesajlar
- 2.394
- Makaleler
- 1
- Çözümler
- 32
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: