| Prethodna tema :: Sljedeća tema   | 
	
	
	
		| Autor/ica | 
		Poruka | 
	
	
		ceps Forumaš(ica)
  
 
  Pridružen/a: 08. 10. 2010. (13:03:07) Postovi: (13A)16 
 
		 | 
		
			
				 Postano: 22:40 sri, 17. 11. 2010    Naslov: 15. zadatak iz zadataka za praktični kolokvij | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Napišite program koji kao unos prima paran prirodan broj n > 2 i provjerava da li se n može prikazati kao zbroj dva prosta broja. Ako traženi rastav postoji, onda ga treba i ispisati. Ako postoji više rastava, svejedno je koji se ispisuje. Na primjer, za n = 4 program treba ispisati 4 = 2 + 2, a za n = 10 program treba ispisati 10 = 3 + 7 ili 10 = 5 + 5.
 Uputa: Složite for() petlju u kojoj varijabla i ide od 2 do n - 2, a u petlji se provjerava jesu li i i n-i prosti brojevi.
 
 [code:1]
 
 #include <stdio.h>
 
 int main ()
 {
     
     int n, i, prost1 = 1, prost2 = 1, x, y, j, t;
     printf ("Upisite broj: "); scanf ("%d", &n);
     
     for (i = 2; i <= n/2; i++)
     {
         t = n - i;
         for (j = 2; j < i; j++) {if (i % j == 0) prost1 = 0; }
         for(j = 2; j < t; j++) {if (t % j == 0) prost2 = 0;}
             
             if (prost1 && prost2)
              {
                  x = i;
                  y = t;
                  
              } 
 
         }
     
     printf ("%d = %d + %d", n, x, y);
     return 0;
 }
 [/code:1]
 
 Evo, najjednostavniji dio programa, bez provjera za to da li je n paran broj veći od 2. Program dobro radi za 4 = 2 + 2, i tu sam se taman poveselio, ali ne radi za bilo što drugo. :)
 
 Vjerojatno je nešto očito, ali ja to ne vidim. Pomoć! 
					
					Napišite program koji kao unos prima paran prirodan broj n > 2 i provjerava da li se n može prikazati kao zbroj dva prosta broja. Ako traženi rastav postoji, onda ga treba i ispisati. Ako postoji više rastava, svejedno je koji se ispisuje. Na primjer, za n = 4 program treba ispisati 4 = 2 + 2, a za n = 10 program treba ispisati 10 = 3 + 7 ili 10 = 5 + 5.
 
Uputa: Složite for() petlju u kojoj varijabla i ide od 2 do n - 2, a u petlji se provjerava jesu li i i n-i prosti brojevi.
 
 
 	  | Kod: | 	 		  
 
 
#include <stdio.h>
 
 
int main ()
 
{
 
    
 
    int n, i, prost1 = 1, prost2 = 1, x, y, j, t;
 
    printf ("Upisite broj: "); scanf ("%d", &n);
 
    
 
    for (i = 2; i <= n/2; i++)
 
    {
 
        t = n - i;
 
        for (j = 2; j < i; j++) {if (i % j == 0) prost1 = 0; }
 
        for(j = 2; j < t; j++) {if (t % j == 0) prost2 = 0;}
 
            
 
            if (prost1 && prost2)
 
             {
 
                 x = i;
 
                 y = t;
 
                 
 
             } 
 
 
        }
 
    
 
    printf ("%d = %d + %d", n, x, y);
 
    return 0;
 
}
 
 | 	  
 
 
Evo, najjednostavniji dio programa, bez provjera za to da li je n paran broj veći od 2. Program dobro radi za 4 = 2 + 2, i tu sam se taman poveselio, ali ne radi za bilo što drugo.  
 
 
Vjerojatno je nešto očito, ali ja to ne vidim. Pomoć!
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		pbakic Forumaš(ica)
  
 
  Pridružen/a: 05. 10. 2009. (17:48:30) Postovi: (143)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		satja Forumaš(ica)
  
 
  Pridružen/a: 16. 05. 2010. (10:44:17) Postovi: (F1)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		pbakic Forumaš(ica)
  
 
  Pridružen/a: 05. 10. 2009. (17:48:30) Postovi: (143)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		ceps Forumaš(ica)
  
 
  Pridružen/a: 08. 10. 2010. (13:03:07) Postovi: (13A)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		Phoenix Forumaš(ica)
  
  
  Pridružen/a: 15. 05. 2010. (18:46:07) Postovi: (164)16 
Sarma: - 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		Flame Forumaš(ica)
  
 
  Pridružen/a: 12. 08. 2009. (02:14:39) Postovi: (53)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		 |