Prosti brojevi

2

Prosti brojevi

offline
  • Pridružio: 17 Mar 2004
  • Poruke: 293
  • Gde živiš: UK

[Link mogu videti samo ulogovani korisnici]



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 30 Maj 2005
  • Poruke: 1014
  • Gde živiš: Mbabane

Ja sam se davno zezala sa tim, i pisala neki program za proste brojeve i dobila algoritam koji je bio stvarno brz, i pri tome je radio Mr. Green ... pokusacu da se sjetim kompletne price, ali znam da se na kraju svelo na to da je brojeve trebalo dijeliti samo sa svim prostim brojevima manjim od njegovog korijena ... znaci koristimo vec postojeci niz nadjenih prostih brojeva, sve ostale provjere su se pokazale kao nepotrebne, ili su brojevi parni ili se na kraju podjele sa prostim ... izgubila sam taj kod ali ako nadjem vremena, uradicu ga ponovo ...

Sto se tice pohranjivanja rezultata, najekonomicnija je bitska predstava naravno. Ako u C-u nema boolean, onda se to lako rijesi maskiranjem ...



offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

@ApsolutniPocetnik Mislim da ti je princip isuvise skolski i trom.
@zoranez Slazem se sto se tice ustede prostora da je jako dobro posmatrati brojeve na nivou bita, ali treba imati u vidu i gubljenje procesorskog vremena na jeftine bitske operacije AND i OR.

Mislim da primjer sto je @Riddler dao je najbrze rjesenje, nema dalje...

offline
  • Pridružio: 30 Maj 2005
  • Poruke: 1014
  • Gde živiš: Mbabane

Zlatno pravilo, sto dobijes na mostu izgubis na cupriji, ako hoces brz program, moraces da zrtvujes resurse i naopako ... tako da je rezultat stvar kompromisa ...

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Naravno ali pogledaj prvi post
Citat:Ici ka brzini izvrsavanja programa.

offline
  • boris4 
  • Novi MyCity građanin
  • Pridružio: 24 Dec 2007
  • Poruke: 6

pa evo i ja da postavim svoj kod

#include <iostream.h> #include <math.h> int sledeciprost(int &n){ int i; bool dosao=false;            while (!dosao)            {                 n = n + 1;                 i = 3;                 dosao = true;                 if (n%2==0) dosao = false;                 else                       while (i<sqrt(n) && dosao){                                dosao = n%i!=0;                                i = i + 2;                       }               }               return n; }                       int main() {       int n=1,prvihkoliko;       cin >> prvihkoliko;       for(int i = 0; i<prvihkoliko;i++)            cout << sledeciprost(n) << endl;       system("pause");       return 0; }
[/code]

Ko je trenutno na forumu
 

Ukupno su 969 korisnika na forumu :: 10 registrovanih, 0 sakrivenih i 959 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: djordje92sm, Glavni Oružni, IQ116, Lj_ubo, markomacii9, mile.ilic75, Mitrast, ping15, RED4G-304, saputnik plavetnila