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

pitanje 5
WWW:

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
Sk@łR
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 02. 2004. (19:55:24)
Postovi: (12)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 14:09 sri, 25. 2. 2004    Naslov: pitanje 5 Citirajte i odgovorite

moze li netko u onom "polupseudo" jeziku napisati algoritam za ispis prvih n prostih brojeva
moze li netko u onom "polupseudo" jeziku napisati algoritam za ispis prvih n prostih brojeva


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


Pridružen/a: 19. 11. 2003. (23:16:07)
Postovi: (193)16
Sarma = la pohva - posuda
= 7 - 0

PostPostano: 15:02 sri, 25. 2. 2004    Naslov: Citirajte i odgovorite

sito_metoda:

[code:1]
ispisi(1);
i=2
ponavljaj
za svaki x > i , ako je x djeljivo s i, oznaci da x nije prost
ispisi(i)
nadji iduci veci broj od i, za kojeg nisi rekao da nije prost

dok i <n;

[/code:1]
c kod (postavimo sve a[i] na nulu prije koda)

[code:1]
printf("1 ");

for (i=2;i<n;) {
printf("%d ",i);
for (j=i*2;j<n;j+=2)
if (j/i == 0) a[j]=1; // tu oznacimo da j nije prost

for (i+=1;i<n && !a[i];i++)
// tu povecavamo i dok ne predjemo n, ili ne nadjemo neki prosti i.

}

[/code:1]


brute force metoda:
(za svaki broj provjeri je li djeljiv s nekim brojem manjim od sebe.
dovoljno je ici do korjena).

[code:1]
printf("1 2 ");
for (i=3;i<n;i++) {
x=0;
for (j=2; j*j < n;j++)
if (i/j==0) {
x=1;
break;
}
if (!x) printf("%d ", i);
}

[/code:1]
sito_metoda:

Kod:

ispisi(1);
i=2
ponavljaj
za svaki x > i , ako je x djeljivo s i, oznaci da x nije prost
ispisi(i)
nadji iduci veci broj od i, za kojeg nisi rekao da nije prost

dok i <n;


c kod (postavimo sve a[i] na nulu prije koda)

Kod:

printf("1 ");

for (i=2;i<n;) {
printf("%d ",i);
for (j=i*2;j<n;j+=2)
  if (j/i == 0) a[j]=1; // tu oznacimo da j nije prost

for (i+=1;i<n && !a[i];i++)
// tu povecavamo i dok ne predjemo n, ili ne nadjemo neki prosti i.

}




brute force metoda:
(za svaki broj provjeri je li djeljiv s nekim brojem manjim od sebe.
dovoljno je ici do korjena).

Kod:

printf("1 2 ");
for (i=3;i<n;i++) {
  x=0;
  for (j=2; j*j < n;j++)
    if (i/j==0) {
      x=1;
      break;
    }
  if (!x) printf("%d ", i);
}




_________________


Zadnja promjena: ahri; 15:04 sri, 25. 2. 2004; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
veky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 12. 2002. (19:59:43)
Postovi: (5B0)16
Sarma = la pohva - posuda
22 = 24 - 2
Lokacija: negdje daleko...

PostPostano: 15:03 sri, 25. 2. 2004    Naslov: Re: pitanje 5 Citirajte i odgovorite

[quote="Sk@łR"]moze li netko u onom "polupseudo" jeziku napisati algoritam za ispis prvih n prostih brojeva[/quote]

[code:1]ubaci n
izbaci 2
b poprima 3
za i ide od 2 do n vrši
p poprima ne istina
sve dok je ne p vrši
d poprima 3
sve dok je d*d<=b i ne b mod d = 0 vrši
d poprima d+2
ukoliko je ne b mod d = 0 tada
izbaci b
p poprima istina
b poprima b+2
kraj[/code:1]
Sk@łR (napisa):
moze li netko u onom "polupseudo" jeziku napisati algoritam za ispis prvih n prostih brojeva


Kod:
ubaci n
izbaci 2
b poprima 3
za i ide od 2 do n vrši
   p poprima ne istina
   sve dok je ne p vrši
      d poprima 3
      sve dok je d*d<=b i ne b mod d = 0 vrši
         d poprima d+2
      ukoliko je ne b mod d = 0 tada
         izbaci b
         p poprima istina
      b poprima b+2
kraj


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
n0mad
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 02. 2004. (12:58:32)
Postovi: (B3)16
Sarma = la pohva - posuda
= 2 - 0

PostPostano: 15:15 sri, 25. 2. 2004    Naslov: Citirajte i odgovorite

for (i = 2; i < N; i++) a[i] = 1;
for (i = 2; i < N; i++)
if (a[i])
for (j = i; j < N/i; j++) a[i*j] = 0;

da, da, sedgewick rulez...najbolje je pocet ucit iz pravih knjiga...
for (i = 2; i < N; i++) a[i] = 1;
for (i = 2; i < N; i++)
if (a[i])
for (j = i; j < N/i; j++) a[i*j] = 0;

da, da, sedgewick rulez...najbolje je pocet ucit iz pravih knjiga...



_________________
Sig pobrisan by Admin zbog krsenja Pravila... hehe, fair enough Smile
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 15:45 sri, 25. 2. 2004    Naslov: Citirajte i odgovorite

Ahri, 1 nije prosti broj! :roll:

Takodjer, ne priznajemo konstrukciju "[i]za svaki x > i[/i]" (x nije nikako kvantificiran). :?

[quote="jaZz"][code:1]for (i = 2; i < N; i++) a[i] = 1;
for (i = 2; i < N; i++)
if (a[i])
for (j = i; j < N/i; j++) a[i*j] = 0;[/code:1]
da, da, sedgewick rulez...najbolje je pocet ucit iz pravih knjiga...[/quote]

Ovo bas i nije primjenjivo jer covjek pita za prvih [i]n[/i] prostih brojeva, a ne za sve manje od nekog [i]n[/i]. :-k

Inace, zadaci ponekad hoce reci "[i]Nije dozvoljeno koristenje dodatnih nizova[/i]", pa je za potrebe ispita dobro znati manje optimizirane verzije (aka Ahrijva "brute force" i ovo sto je Veky napisao). ;)
Ahri, 1 nije prosti broj! Rolling Eyes

Takodjer, ne priznajemo konstrukciju "za svaki x > i" (x nije nikako kvantificiran). Confused

jaZz (napisa):
Kod:
for (i = 2; i < N; i++) a[i] = 1;
    for (i = 2; i < N; i++)
      if (a[i])
        for (j = i; j < N/i; j++) a[i*j] = 0;

da, da, sedgewick rulez...najbolje je pocet ucit iz pravih knjiga...


Ovo bas i nije primjenjivo jer covjek pita za prvih n prostih brojeva, a ne za sve manje od nekog n. Think

Inace, zadaci ponekad hoce reci "Nije dozvoljeno koristenje dodatnih nizova", pa je za potrebe ispita dobro znati manje optimizirane verzije (aka Ahrijva "brute force" i ovo sto je Veky napisao). Wink



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
veky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 12. 2002. (19:59:43)
Postovi: (5B0)16
Sarma = la pohva - posuda
22 = 24 - 2
Lokacija: negdje daleko...

PostPostano: 16:56 sri, 25. 2. 2004    Naslov: Citirajte i odgovorite

[quote="ahri"]<snip svašta>[/quote]

Ahri... 1 nije prost broj. Daj se informiraj. :P :-)
ahri (napisa):
<snip svašta>


Ahri... 1 nije prost broj. Daj se informiraj. Razz Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 17:10 sri, 25. 2. 2004    Naslov: Citirajte i odgovorite

[quote="veky"][quote="ahri"]<snip svašta>[/quote]
Ahri... 1 nije prost broj. Daj se informiraj. :P :-)[/quote]

Khm...

[quote="vsego"]Ahri, 1 nije prosti broj![/quote]

:lol: Ccccc.... :P ;)
veky (napisa):
ahri (napisa):
<snip svašta>

Ahri... 1 nije prost broj. Daj se informiraj. Razz Smile


Khm...

vsego (napisa):
Ahri, 1 nije prosti broj!


Laughing Ccccc.... Razz Wink



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
veky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 12. 2002. (19:59:43)
Postovi: (5B0)16
Sarma = la pohva - posuda
22 = 24 - 2
Lokacija: negdje daleko...

PostPostano: 17:28 sri, 25. 2. 2004    Naslov: Citirajte i odgovorite

[quote="jaZz"]for (i = 2; i < N; i++) a[i] = 1;
for (i = 2; i < N; i++)
if (a[i])
for (j = i; j < N/i; j++) a[i*j] = 0;

da, da, sedgewick rulez...najbolje je pocet ucit iz pravih knjiga...[/quote]

Ma sigurno...
[code:1]<< NumberTheory`NumberTheoryFunctions`
NestList[NextPrime,2,Input@"Koliko?"-1][/code:1]

će učiniti ono što treba učiniti, a

[code:1]perl -le'(7x$_)=~/^(77+?)\1+$/||print for 2..shift' 80[/code:1] će sasvim ok raditi ovo što si ti pokušao gore. Za alternativni pristup pogledaj "Predzadnja znamenka umnoška prvih 100 prostih brojeva" na http://web.math.hr/~veky/unix/perlgallery.html .
jaZz (napisa):
for (i = 2; i < N; i++) a[i] = 1;
for (i = 2; i < N; i++)
if (a[i])
for (j = i; j < N/i; j++) a[i*j] = 0;

da, da, sedgewick rulez...najbolje je pocet ucit iz pravih knjiga...


Ma sigurno...
Kod:
<< NumberTheory`NumberTheoryFunctions`
NestList[NextPrime,2,Input@"Koliko?"-1]


će učiniti ono što treba učiniti, a

Kod:
perl -le'(7x$_)=~/^(77+?)\1+$/||print for 2..shift' 80
će sasvim ok raditi ovo što si ti pokušao gore. Za alternativni pristup pogledaj "Predzadnja znamenka umnoška prvih 100 prostih brojeva" na http://web.math.hr/~veky/unix/perlgallery.html .


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
n0mad
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 02. 2004. (12:58:32)
Postovi: (B3)16
Sarma = la pohva - posuda
= 2 - 0

PostPostano: 17:33 sri, 25. 2. 2004    Naslov: Citirajte i odgovorite

Da, da...a ono sta svaki iskusan programer treba znati jest -> pisa ti razumljiv kod!
Da, da...a ono sta svaki iskusan programer treba znati jest -> pisa ti razumljiv kod!



_________________
Sig pobrisan by Admin zbog krsenja Pravila... hehe, fair enough Smile
[Vrh]
Korisnički profil Pošaljite privatnu poruku
veky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 12. 2002. (19:59:43)
Postovi: (5B0)16
Sarma = la pohva - posuda
22 = 24 - 2
Lokacija: negdje daleko...

PostPostano: 17:34 sri, 25. 2. 2004    Naslov: Citirajte i odgovorite

[quote="jaZz"]Da, da...a ono sta svaki iskusan programer treba znati jest -> pisa ti razumljiv kod![/quote]

Naravno. Meni je ovo što sam ja napisao puno razumljivije od ovog što si ti napisao... ;-)
jaZz (napisa):
Da, da...a ono sta svaki iskusan programer treba znati jest → pisa ti razumljiv kod!


Naravno. Meni je ovo što sam ja napisao puno razumljivije od ovog što si ti napisao... Wink


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
ahri
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07)
Postovi: (193)16
Sarma = la pohva - posuda
= 7 - 0

PostPostano: 4:34 čet, 26. 2. 2004    Naslov: Citirajte i odgovorite

vidite sig... :)
vidite sig... :)



_________________
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 5:42 čet, 26. 2. 2004    Naslov: Citirajte i odgovorite

[quote="ahri"]vidite sig... :)[/quote]

Ni jedan od tvojih programa ne ispisuje 69 :arrow: jos jedan bug! :P ;)

(za slucaj da Ahri jednog dana promijeni sig... [i]69. Jedini prosti broj koji ima vise od 2 djelitelja.[/i] 8))
ahri (napisa):
vidite sig... Smile


Ni jedan od tvojih programa ne ispisuje 69 Arrow jos jedan bug! Razz Wink

(za slucaj da Ahri jednog dana promijeni sig... 69. Jedini prosti broj koji ima vise od 2 djelitelja. Cool)



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ahri
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07)
Postovi: (193)16
Sarma = la pohva - posuda
= 7 - 0

PostPostano: 14:17 čet, 26. 2. 2004    Naslov: Citirajte i odgovorite

pa da... to i govorim. moji programi su bugoviti, a tocni! :)
pa da... to i govorim. moji programi su bugoviti, a tocni! :)



_________________
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
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.
Stranica 1 / 1.

 
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