04.11.2014 Views

Osnovi programiranja - vezbe - Alas

Osnovi programiranja - vezbe - Alas

Osnovi programiranja - vezbe - Alas

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Zadatak 1.4 Sa tastature se unosi prirodan broj n. Ispisati na ekran sve delioce<br />

broja n.<br />

Rešenje: Ideja algoritma je da proverimo redom za sve brojeve koji su potencialno<br />

delioci broja n, da li su i stvarno delioci broja n. Broj 1 je delilac svakog<br />

prirodnog broja, tako da nema potrebe za njega vrsiti bilo kakvu proveru, nego<br />

je dovoljno konstatovati da je 1 delilac broja n. Uočimo na ovom mestu još i<br />

činjenicu da je najveći delilac broja n (osim samog n), svakako manji ili jednak<br />

[ n 2<br />

]. Zaista, predstavimo broj n u obliku:<br />

n = a · b<br />

Ako je a > [ n 2<br />

], tada je b < 2, što je naravno nemoguće. Znači da se svi<br />

potencialni delioci broja n (osim 1 i n), nalaze izmedju 2 i n/2 (gde je ovo c-<br />

ovska oznaka za celobrojno deljenje, pošto je n celobrojnog tipa). Sada možemo<br />

da napišemo program:<br />

#include <br />

#define GRESKA 1<br />

#define OK 0<br />

int main()<br />

{ int n; /* Broj cije delioce trazimo */<br />

int i; /* Pomocna brojacka promenjiva,<br />

koja ce da prolazi kroz sve potencijalne<br />

delioce broja n */<br />

/* Unesimo broj sa tastature */<br />

printf("Unesite prirodni broj : ");<br />

scanf("%d",&n);<br />

/* Proverimo da li je stvarno unet prirodan broj<br />

Ako nije, ispisujemo odgovarajucu poruku i<br />

program zavrsava rad sa kodom greske */<br />

if (n

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!