Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Algoritam za oduzimanje
WWW:
Idite na 1, 2  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 10:34 pon, 24. 11. 2008    Naslov: Algoritam za oduzimanje Citirajte i odgovorite

jel bi htio neko postat kako ono ide, taj, algoritam za oduzimanje, kad se oduzimanje zamjeni zbrajanjem komplementom. zaboravio sam kako to ide, a u bilježnici mi vlada kaos :)
jel bi htio neko postat kako ono ide, taj, algoritam za oduzimanje, kad se oduzimanje zamjeni zbrajanjem komplementom. zaboravio sam kako to ide, a u bilježnici mi vlada kaos Smile



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
bad_angel
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 01. 11. 2008. (18:30:25)
Postovi: (43)16
Sarma = la pohva - posuda
= 3 - 0
Lokacija: svugdje po malo

PostPostano: 11:02 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

hm,kak glasi zadatak?
imam kopiranu biljeznicu od kolege,pa neznam gdje se radilo prek komplementa. :)
hm,kak glasi zadatak?
imam kopiranu biljeznicu od kolege,pa neznam gdje se radilo prek komplementa. Smile



_________________
u raju je lijepo,ali u paklu je ekipa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
JANKRI
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 07. 2008. (02:30:58)
Postovi: (10F)16
Spol: muško
Sarma = la pohva - posuda
97 = 132 - 35
Lokacija: Zagreb

PostPostano: 11:35 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

Ja mislim da to ide nekako ovako, ali nisam 100% siguran :), mislim da se to nije na vježbama radilo...

Pokazati ću na konkretnom primjeru, tada je lako poopćiti ideju... nadam se :)

[b]Uvod u računarstvo - 1. kolokvij, 26. 11. 2004., prvi zadatak pod b[/b]

Metodom dvojnog komplementa izračunajte razliku [latex]\left(101100010\right)_2 - \left(101110\right)_2[/latex] .

Sada zamislimo da imamo računalo s registrom od [b]10[/b] bitova. U njemu je broj [latex]101100010[/latex] prikazan kao [latex]0101100010[/latex], a broj [latex]101110[/latex] kao [latex]0000101110[/latex] .

Dvojni komplement broja [latex]101110[/latex] u tom računalu je broj [latex]1111010010[/latex], odnosno, u tom računalu je [latex]1111010010 = - 0000101110[/latex] (prvi bit je naravno bit za predznak).

Sada je u tom računalu [latex]\left(101100010\right)_2 - \left(101110\right)_2 = 0101100010 + 1111010010 = 0100110100[/latex].

Dakle, konačno [latex]\left(101100010\right)_2 - \left(101110\right)_2 = \left(100110100\right)_2[/latex] .

Zbroj binarnih brojeva [latex]0101100010[/latex] [b]i[/b] [latex]1111010010[/latex] je binarni broj [latex]10100110100[/latex], no on ima [b]11[/b] bitova, pa prvi bit "otpada" (jer radimo s računalom koje ima registar od [b]10[/b] bitova).

Nadam se da je dobro... :-)

Također se nadam da sam uspio pojasniti...
Ja mislim da to ide nekako ovako, ali nisam 100% siguran Smile, mislim da se to nije na vježbama radilo...

Pokazati ću na konkretnom primjeru, tada je lako poopćiti ideju... nadam se Smile

Uvod u računarstvo - 1. kolokvij, 26. 11. 2004., prvi zadatak pod b

Metodom dvojnog komplementa izračunajte razliku .

Sada zamislimo da imamo računalo s registrom od 10 bitova. U njemu je broj prikazan kao , a broj kao .

Dvojni komplement broja u tom računalu je broj , odnosno, u tom računalu je (prvi bit je naravno bit za predznak).

Sada je u tom računalu .

Dakle, konačno .

Zbroj binarnih brojeva i je binarni broj , no on ima 11 bitova, pa prvi bit "otpada" (jer radimo s računalom koje ima registar od 10 bitova).

Nadam se da je dobro... Smile

Također se nadam da sam uspio pojasniti...


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
kenny
Petica iz zalaganja
Petica iz zalaganja


Pridružen/a: 28. 03. 2003. (09:18:36)
Postovi: (3B7)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
43 = 94 - 51
Lokacija: ...somewhere over the rainbow...

PostPostano: 14:43 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

hehe, onda objasni i metodu dobivanja dvojnog komplementa (mozda covjek to ne zna).....

1. invertiras sve bitove umanjitelja (to se zove komplement)
2. komplement + 1 (to se zove dvojni komplement)

....postoji jos jedan "jednostaviji" algoritam tvorbe dvojnog komplementa.....a glasi ovako "pocevsi od najnizeg znacajnog bita, invertiras sve bitova nakon prve jedinice".......

u praxi to izgleda ovako.......dvojni komplement broja 0100001010 je 1011110110

inace.......cijeli algoritam ide ovako:

1. osiguras da umanjenik i umanjitelj imaju isti broj bitova (dodas nule na pocetak)

2. umanjitelju nadjes dvojni komplement

3. zbrojis umanjenik i dvojni komplement

4. odbacis prvu jedinicu (zasto? tvorbom dvojnog komplementa smo broj upotpunili do veceg broja)

eh da.......metodom dvojnog komplementa je moguce oduzimati u [b]bilo kojem[/b] brojevnom sustavu.......evo jedan primjer za dekadski sustav:

6254 - 723......

1. 723 upotpunis nulom na pocetku kako bi imali isti broj znamenaka......0723

2. komplement od 0723 je 9276 (upotpunjujes do 9999)

3. dvojni komplement je 9276+1 = 9277

4. 6254 + 9277 = 15531

5. prvu znamenku smanjis za 1.......(u ovom se slucaju skroz ubije)

6. rezultat je 6254 - 723 = 5531

[size=9][color=#999999]Added after 3 minutes:[/color][/size]

[quote="JANKRI"](jer radimo s računalom koje ima registar od [b]10[/b] bitova)[/quote]

nije to razlog zasto se prva jedinica ubije. ubijemo je jer smo umanjenitelj dvojnim komplementom upotpunili do broja 10000000000. napominjem jer ces u nekom zadatku mozda imati registar imati od 8 bitova, a umanjenik i umanjitelj ce imati <8 bitova......onda ce se zadatak rjesavati bez vodecih nula (jednostavnije je!), a kasnije ti za prikaz u registru nadodas nule na pocetak.
hehe, onda objasni i metodu dobivanja dvojnog komplementa (mozda covjek to ne zna).....

1. invertiras sve bitove umanjitelja (to se zove komplement)
2. komplement + 1 (to se zove dvojni komplement)

....postoji jos jedan "jednostaviji" algoritam tvorbe dvojnog komplementa.....a glasi ovako "pocevsi od najnizeg znacajnog bita, invertiras sve bitova nakon prve jedinice".......

u praxi to izgleda ovako.......dvojni komplement broja 0100001010 je 1011110110

inace.......cijeli algoritam ide ovako:

1. osiguras da umanjenik i umanjitelj imaju isti broj bitova (dodas nule na pocetak)

2. umanjitelju nadjes dvojni komplement

3. zbrojis umanjenik i dvojni komplement

4. odbacis prvu jedinicu (zasto? tvorbom dvojnog komplementa smo broj upotpunili do veceg broja)

eh da.......metodom dvojnog komplementa je moguce oduzimati u bilo kojem brojevnom sustavu.......evo jedan primjer za dekadski sustav:

6254 - 723......

1. 723 upotpunis nulom na pocetku kako bi imali isti broj znamenaka......0723

2. komplement od 0723 je 9276 (upotpunjujes do 9999)

3. dvojni komplement je 9276+1 = 9277

4. 6254 + 9277 = 15531

5. prvu znamenku smanjis za 1.......(u ovom se slucaju skroz ubije)

6. rezultat je 6254 - 723 = 5531

Added after 3 minutes:

JANKRI (napisa):
(jer radimo s računalom koje ima registar od 10 bitova)


nije to razlog zasto se prva jedinica ubije. ubijemo je jer smo umanjenitelj dvojnim komplementom upotpunili do broja 10000000000. napominjem jer ces u nekom zadatku mozda imati registar imati od 8 bitova, a umanjenik i umanjitelj ce imati <8 bitova......onda ce se zadatak rjesavati bez vodecih nula (jednostavnije je!), a kasnije ti za prikaz u registru nadodas nule na pocetak.



_________________
Dvije stvari su beskonacne: svemir i ljudska glupost. Za ono prvo nisam siguran.

by A.Einstein
[Vrh]
Korisnički profil Pošaljite privatnu poruku
JANKRI
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 07. 2008. (02:30:58)
Postovi: (10F)16
Spol: muško
Sarma = la pohva - posuda
97 = 132 - 35
Lokacija: Zagreb

PostPostano: 14:45 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

[quote="kenny"]hehe, onda objasni i metodu dobivanja dvojnog komplementa (mozda covjek to ne zna).....[/quote]

Imaš pravo, sorry, ja se ispričavam, uzeo sam zdravo za gotovo da se zna što je i kako se dobiva dvojni komplement :)
kenny (napisa):
hehe, onda objasni i metodu dobivanja dvojnog komplementa (mozda covjek to ne zna).....


Imaš pravo, sorry, ja se ispričavam, uzeo sam zdravo za gotovo da se zna što je i kako se dobiva dvojni komplement Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
ddduuu
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 11. 2008. (12:31:48)
Postovi: (109)16
Sarma = la pohva - posuda
= 20 - 16

PostPostano: 18:43 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

Moze li koja dobra dusa rjesit 147AD-EEEE u bazi 15? Onako,lipo sa postupkon oz skripte. Prebacivanje u bazu 10, pa oduzimanje i vracanje u bazu 15. Jer nikako ne mogu dobit dobar rezultat. Ja znan onaj postupak D-E+(15)baza, ali ne znan ocemo tako moc na kolokviju.

HVALA
Moze li koja dobra dusa rjesit 147AD-EEEE u bazi 15? Onako,lipo sa postupkon oz skripte. Prebacivanje u bazu 10, pa oduzimanje i vracanje u bazu 15. Jer nikako ne mogu dobit dobar rezultat. Ja znan onaj postupak D-E+(15)baza, ali ne znan ocemo tako moc na kolokviju.

HVALA


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kenny
Petica iz zalaganja
Petica iz zalaganja


Pridružen/a: 28. 03. 2003. (09:18:36)
Postovi: (3B7)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
43 = 94 - 51
Lokacija: ...somewhere over the rainbow...

PostPostano: 19:02 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

cek, treba rijesiti prebacivanjem u dekadski sustav.......?! hm, propustam vidjeti poantu zadatka, al evo....

[latex]$147AD_{15} = 1 \cdot 15^4 + 4 \cdot 15^3 + 7 \cdot 15^2 + 10 \cdot 15^1 + 13 \cdot 15^0 = 1 \cdot 50625 + 4 \cdot 3375 + 7 \cdot 225 + 10 \cdot 15 + 13 \cdot 1 = 50625 + 13500 + 1575 + 150 + 13 = 65863_{10}$[/latex]

na analogan se nacin dobije da je [latex]$EEEE_{15} = 50624_{10}[/latex]

onda imamo [latex]65863-50624 = 15239[/latex]

[latex]\begin{tabular}{|c|c|}
\hline
15239 : 15 = 1015 & 14 (E) \\
1015 : 15 = 67 & 10 (A) \\
67 : 15 = 4 & 7 \\
7 : 15 = 0 & 7 \\
\hline
\end{tabular}[/latex]

dakle, rjesenje je [latex]$77AE_{15}[/latex]
cek, treba rijesiti prebacivanjem u dekadski sustav.......?! hm, propustam vidjeti poantu zadatka, al evo....



na analogan se nacin dobije da je

onda imamo



dakle, rjesenje je



_________________
Dvije stvari su beskonacne: svemir i ljudska glupost. Za ono prvo nisam siguran.

by A.Einstein
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ddduuu
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 11. 2008. (12:31:48)
Postovi: (109)16
Sarma = la pohva - posuda
= 20 - 16

PostPostano: 19:07 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

rjesenje je 47AE, ne 77AE. I ne triba u dekadsku bazu nego direktno.. Znam i ja u dekadsku bazu:)
rjesenje je 47AE, ne 77AE. I ne triba u dekadsku bazu nego direktno.. Znam i ja u dekadsku bazu:)


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kenny
Petica iz zalaganja
Petica iz zalaganja


Pridružen/a: 28. 03. 2003. (09:18:36)
Postovi: (3B7)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
43 = 94 - 51
Lokacija: ...somewhere over the rainbow...

PostPostano: 19:09 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

ahaaaaaaaaa, pa opet.....nije problem.....

evo, sam da raspisem prvo sebi na papir, pa ti zalijepim tu. :D (ja sam razumio da treba preko baze 10.....glup ja). :D
ahaaaaaaaaa, pa opet.....nije problem.....

evo, sam da raspisem prvo sebi na papir, pa ti zalijepim tu. Very Happy (ja sam razumio da treba preko baze 10.....glup ja). Very Happy



_________________
Dvije stvari su beskonacne: svemir i ljudska glupost. Za ono prvo nisam siguran.

by A.Einstein
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ddduuu
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 11. 2008. (12:31:48)
Postovi: (109)16
Sarma = la pohva - posuda
= 20 - 16

PostPostano: 19:10 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

Malo san se krivo izrazila.. U skripti je rjesen zadatak 7347-155. Kod oduzimanja predzadnjih znamenaka imamo: (4)8 − (5)8,
ˇsto daje negativan rezultat. Zbog toga jepotrebno “posuditi”
1 od tre´ce znamenke s desna. Tada je potrebno izraˇcunati
(14)8−(5)8 = (12)10−(5)10 = (7)10 = (7)8. Pri tome “posude-
nu” jedinicu treba oduzeti od znamenke od koje je “posudena”. Treba mi na taj nacin rjesit ovaj zadatak:)
Malo san se krivo izrazila.. U skripti je rjesen zadatak 7347-155. Kod oduzimanja predzadnjih znamenaka imamo: (4)8 − (5)8,
ˇsto daje negativan rezultat. Zbog toga jepotrebno “posuditi”
1 od tre´ce znamenke s desna. Tada je potrebno izraˇcunati
(14)8−(5)8 = (12)10−(5)10 = (7)10 = (7)8. Pri tome “posude-
nu” jedinicu treba oduzeti od znamenke od koje je “posudena”. Treba mi na taj nacin rjesit ovaj zadatak:)


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kenny
Petica iz zalaganja
Petica iz zalaganja


Pridružen/a: 28. 03. 2003. (09:18:36)
Postovi: (3B7)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
43 = 94 - 51
Lokacija: ...somewhere over the rainbow...

PostPostano: 19:17 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

daklem, ovako ide.......

[latex]$147ad_{15} - eeee_{15}$[/latex]......za pocetak moras umanjitelja upotpuniti jednom nulom da imaju isti broj znamenaka......[latex]147ad_{15} - 0eeee_{15}[/latex]......sada radis komplement od [latex]$0eeee_{15}$[/latex].....kako? lijepo! upotpunjujes do [latex]$eeeee_{15}$[/latex]....komplement je [latex]$e0000_{15}$[/latex]....dvojni komplement je [latex]$e0000 + 1 = e0001_{15}$[/latex].....sada zbrojis umanjenika i dvojni komplement.....[latex]$147ad + e0001 = 1047ae_{15}$[/latex]....na kraju prvu znamenku smanjis za 1 (a to ti je zapravo "oduzmi od rezultata [latex]$100000_{15}$[/latex]")......i konacno rjesenje je [latex]$47ae_{15}$[/latex]......dakle, da....ja sam maloprije negdje pogrijesio. :D
daklem, ovako ide.......

......za pocetak moras umanjitelja upotpuniti jednom nulom da imaju isti broj znamenaka............sada radis komplement od .....kako? lijepo! upotpunjujes do ....komplement je ....dvojni komplement je .....sada zbrojis umanjenika i dvojni komplement.........na kraju prvu znamenku smanjis za 1 (a to ti je zapravo "oduzmi od rezultata ")......i konacno rjesenje je ......dakle, da....ja sam maloprije negdje pogrijesio. Very Happy



_________________
Dvije stvari su beskonacne: svemir i ljudska glupost. Za ono prvo nisam siguran.

by A.Einstein
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ddduuu
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 11. 2008. (12:31:48)
Postovi: (109)16
Sarma = la pohva - posuda
= 20 - 16

PostPostano: 19:19 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

Haha, koliko nacina za izracunat ovo:) Hvala:) Puno:)
Haha, koliko nacina za izracunat ovo:) Hvala:) Puno:)


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kenny
Petica iz zalaganja
Petica iz zalaganja


Pridružen/a: 28. 03. 2003. (09:18:36)
Postovi: (3B7)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
43 = 94 - 51
Lokacija: ...somewhere over the rainbow...

PostPostano: 19:30 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

ok, eto.....treci nacin. :)

[latex]$147ad_{15} - eeee_{15}$[/latex].......

[latex]$d_{15} - e_{15}$ = sada moramo posudjivati! = $1d_{15} - e_{15} = 28_{10} - 14_{10} = 14_{10} = e_{15}$[/latex]

[latex]$9_{15} - e_{15}$ = zasto 9? posudili smo 1.....ali sada opet moramo posuditi! = $19_{15} - e_{15} = 24_{10} - 14_{10}= 10_{10} = a_{15}$[/latex]

[latex]$6_{15} - e{15}$ = opet posudjujemo! = $16_{15} - e_{15} = 21_{10} - 14_{10} = 7_{10} = 7_{15}$[/latex]

[latex]$3_{15} - e_{15}$ = opet posudjujemo! = $13_{15} - e_{15} = 18_{10} - 14_{10} = 4_{10} = 4_{15}$[/latex]

uf, ovo je bilo naporno pisati......konacan rezultat: [latex]$47ae_{15}$[/latex]

[size=9][color=#999999]Added after 2 minutes:[/color][/size]

nadam se da sam ti pomogao........eto, imas tri razlicita nacina kako izracunati najobicnije oduzimanje. :) ;)
ok, eto.....treci nacin. Smile

.......









uf, ovo je bilo naporno pisati......konacan rezultat:

Added after 2 minutes:

nadam se da sam ti pomogao........eto, imas tri razlicita nacina kako izracunati najobicnije oduzimanje. Smile Wink



_________________
Dvije stvari su beskonacne: svemir i ljudska glupost. Za ono prvo nisam siguran.

by A.Einstein
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 19:31 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

jedi sarmu, etotna!!
jedi sarmu, etotna!!



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
ddduuu
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 11. 2008. (12:31:48)
Postovi: (109)16
Sarma = la pohva - posuda
= 20 - 16

PostPostano: 19:35 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

:) zasluzujes cokoladu:)
Smile zasluzujes cokoladu:)


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kenny
Petica iz zalaganja
Petica iz zalaganja


Pridružen/a: 28. 03. 2003. (09:18:36)
Postovi: (3B7)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
43 = 94 - 51
Lokacija: ...somewhere over the rainbow...

PostPostano: 7:39 uto, 25. 11. 2008    Naslov: Citirajte i odgovorite

da su barem moji ucenici ovako zahvalni kad im se potrudim objasniti nesto na vise nacina. ;) (da, da, oduzimanje dvojnim komplementom se radi na informatici u opcoj gimnaziji :roll:)
da su barem moji ucenici ovako zahvalni kad im se potrudim objasniti nesto na vise nacina. Wink (da, da, oduzimanje dvojnim komplementom se radi na informatici u opcoj gimnaziji Rolling Eyes)



_________________
Dvije stvari su beskonacne: svemir i ljudska glupost. Za ono prvo nisam siguran.

by A.Einstein
[Vrh]
Korisnički profil Pošaljite privatnu poruku
bbroj
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 02. 2008. (17:17:24)
Postovi: (49)16
Sarma = la pohva - posuda
-2 = 7 - 9

PostPostano: 21:24 čet, 2. 4. 2009    Naslov: Citirajte i odgovorite

moze li mi netko molim vas napisat algoritam za pronalazenje prostih djelitelja nekog broja..?? :oops:

...bez koristenja nizova...
moze li mi netko molim vas napisat algoritam za pronalazenje prostih djelitelja nekog broja..?? Embarassed

...bez koristenja nizova...


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 22:00 čet, 2. 4. 2009    Naslov: Citirajte i odgovorite

[quote="bbroj"]moze li mi netko molim vas napisat algoritam za pronalazenje prostih djelitelja nekog broja..?? :oops:

...bez koristenja nizova...[/quote]

Pa onako kako bi išo "na ruke"...

1. učitaš broj (nazovimo ga x)
2. ideš po brojevima koji su manji od x (dovoljno do korijen iz x, nijedan prosti djelitelj neće bit već od toga)
3. ako je taj djelitelj prost i dijeli x onda je on prosti djelitelj!

[code:1]
int prost( int n ) //fja provjerava dal je n prost
{
int i;
for (i=2;i<=sqrt(n);i++)
if ( n%i ==0 ) return 0;
return 1;
}

int main()
{
int x,i;

scanf("%d",&x);

printf("Prosti djelitelji od %d: ",x);

for (i=2;i<=x;i++) //sa petljom idem do x jer to pokriva slučaj da je x prost
if ( x%i==0 && prost(i) ) printf (" %d ",i);

return 0;
}

[/code:1]
bbroj (napisa):
moze li mi netko molim vas napisat algoritam za pronalazenje prostih djelitelja nekog broja..?? Embarassed

...bez koristenja nizova...


Pa onako kako bi išo "na ruke"...

1. učitaš broj (nazovimo ga x)
2. ideš po brojevima koji su manji od x (dovoljno do korijen iz x, nijedan prosti djelitelj neće bit već od toga)
3. ako je taj djelitelj prost i dijeli x onda je on prosti djelitelj!

Kod:

int prost( int n ) //fja provjerava dal je n prost
{
   int i;
   for (i=2;i<=sqrt(n);i++)
      if ( n%i ==0 ) return 0;
   return 1;
}

int main()
{
   int x,i;

   scanf("%d",&x);

   printf("Prosti djelitelji od %d: ",x);

   for (i=2;i<=x;i++) //sa petljom idem do x jer to pokriva slučaj da je x prost
     if ( x%i==0 && prost(i) ) printf (" %d ",i);

   return 0;
}




_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
bbroj
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 02. 2008. (17:17:24)
Postovi: (49)16
Sarma = la pohva - posuda
-2 = 7 - 9

PostPostano: 22:41 čet, 2. 4. 2009    Naslov: Citirajte i odgovorite

[quote="Luuka"][quote="bbroj"]moze li mi netko molim vas napisat algoritam za pronalazenje prostih djelitelja nekog broja..?? :oops:

...bez koristenja nizova...[/quote]

Pa onako kako bi išo "na ruke"...

1. učitaš broj (nazovimo ga x)
2. ideš po brojevima koji su manji od x (dovoljno do korijen iz x, nijedan prosti djelitelj neće bit već od toga)
3. ako je taj djelitelj prost i dijeli x onda je on prosti djelitelj!

[code:1]
int prost( int n ) //fja provjerava dal je n prost
{
int i;
for (i=2;i<=sqrt(n);i++)
if ( n%i ==0 ) return 0;
return 1;
}

int main()
{
int x,i;

scanf("%d",&x);

printf("Prosti djelitelji od %d: ",x);

for (i=2;i<=x;i++) //sa petljom idem do x jer to pokriva slučaj da je x prost
if ( x%i==0 && prost(i) ) printf (" %d ",i);

return 0;
}



e da,zaboravio sam napomenuti da ne smijem koristiti fje iz math.h,tj korijene itd... pa ako mi mozes jos to prepraviti....u svakom slucaju hvala!

[/code:1][/quote]
Luuka (napisa):
bbroj (napisa):
moze li mi netko molim vas napisat algoritam za pronalazenje prostih djelitelja nekog broja..?? Embarassed

...bez koristenja nizova...


Pa onako kako bi išo "na ruke"...

1. učitaš broj (nazovimo ga x)
2. ideš po brojevima koji su manji od x (dovoljno do korijen iz x, nijedan prosti djelitelj neće bit već od toga)
3. ako je taj djelitelj prost i dijeli x onda je on prosti djelitelj!

Kod:

int prost( int n ) //fja provjerava dal je n prost
{
   int i;
   for (i=2;i<=sqrt(n);i++)
      if ( n%i ==0 ) return 0;
   return 1;
}

int main()
{
   int x,i;

   scanf("%d",&x);

   printf("Prosti djelitelji od %d: ",x);

   for (i=2;i<=x;i++) //sa petljom idem do x jer to pokriva slučaj da je x prost
     if ( x%i==0 && prost(i) ) printf (" %d ",i);

   return 0;
}



e da,zaboravio sam napomenuti da ne smijem koristiti fje iz math.h,tj korijene itd...  pa ako mi mozes jos to prepraviti....u svakom slucaju hvala!



[Vrh]
Korisnički profil Pošaljite privatnu poruku
Spectre
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 02. 10. 2006. (16:58:05)
Postovi: (167)16
Spol: muško
Sarma = la pohva - posuda
17 = 27 - 10

PostPostano: 23:52 čet, 2. 4. 2009    Naslov: Citirajte i odgovorite

Samo zamijeni sqrt(n); sa n/2;
Samo zamijeni sqrt(n); sa n/2;



_________________
Cry havoc, and let loose the dogs of war!
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na 1, 2  Sljedeće
Stranica 1 / 2.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan