- Katılım
- 3 Aralık 2017
- Mesajlar
- 2.525
- 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: 
			
		
	
								
								
									
	
		
			
		
		
	
	
	
	
		
			
		
		
	
								
							
							 
 
		 
 
		 
 
		
 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		