Advertisement
FRiTZZY

OR_T4_Z3_5

Nov 27th, 2014
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.49 KB | None | 0 0
  1. /* OR_Tutorijal_4 Zadatak_3_5 */
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6.     int i, n;
  7.     int prost=1;
  8. /* U programskom jeziku C ne postoji varijabla tipa boolean, tako da je istu potrebno simulirati/napraviti. Iako je kasnijim standardima, dopunama i odredjenim bibliotekama ista definisana, mi cemo je simulirati putem obicne int/double varijable koju konkretno za ovaj
  9. zadatak zovemo prost. Ogranicimo se na to da je prost istinit, odnosno tacan kada je prost=1, a neistinit, odnosno netacan kada je prost=0. */
  10.     printf("Unesite broj n: ");
  11.     scanf("%i", &n);
  12.     /* Provjera unesenog broja */
  13.     if (n<=0) {printf("Broj nije prirodan."); return 0;}
  14.     else if (n==1) {printf("Broj nije niti prost, niti slozen."); return 0;}
  15.     else {
  16.       i=2; /* Krecemo dijeljenjem sa brojem 2, i dijelimo dok je i<n, tj. do n-1 ukljucivo. */
  17.         while(i<n) {
  18.             if (n%i==0) {
  19.                 prost=0;
  20.                 break;
  21.             }
  22.             i++; /* Moramo manuelno/rucno/sami povecavati brojac jer koristimo while petlju */
  23.         }
  24.     }
  25.     if (prost) {printf("Broj je prost."); return 0;}
  26.     else {printf("Broj je slozen."); return 0;}
  27.  
  28.     return 0;
  29. }
  30. /* KRATAK OPIS POSTUPKA ISPITIVANJA BROJA (DA LI JE BROJ PROST)
  31. Def.: Prost broj je djeljiv samo sa jedinicom (1) i sa samim sobom.
  32. -   Postupak ispitivanja da li je broj prost se ogleda u tome da prvo pretpostavimo da je broj prost, a zatim to provjeravamo. Provjeru vršimo tako što broj dijelimo sa brojevima manjim od njega. Ako je broj djeljiv sa bilo kojim brojem manjim od njega, a da je taj isti broj veći od jedinice, onda taj broj nije prost i završavamo provjeru, odnosno dokazali smo da broj nije prost.
  33. -   Primjer (za prost broj): Unesen je broj 11. Počinjemo sa provjerom:
  34. 11%2 nije jednako nuli, odnosno ima ostatka pa uneseni broj (11) nije djeljiv sa 2.     Nastavljamo sa provjeravanjem:
  35.     11%3!=0 -> i dalje nam je tačna pretpostavka da je broj prost (prost=1)
  36.     11%4!=0 -> prost=1
  37.     11%5!=0 -> prost=1
  38.     11%6!=0 -> prost=1
  39.     11%7!=0 -> prost=1
  40.     11%8!=0 -> prost=1
  41.     11%9!=0 -> prost=1
  42.  11%10!=0 -> došli smo do kraja provjere, varijabla prost i dalje ima vrijednost 1     (prost=1), pa je broj 11 prost broj.
  43. -   Primjer (za broj koji nije prost): Unesen je broj 6. Pocinjemo sa
  44.     provjerom, dijeleći uneseni broj sa 2: 6%2==0 – pa s obzirom da je broj
  45.     djeljiv sa brojem različitim od jedinice (1) i njega samog, došli
  46.     smo odmah do zaključka da broj 6 nije prost (prost=0). */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement