Pozdrav svim programerima. Imam jedan problem koji smatram da bi ga programeri sa malo više iskustva mogli rješiti. Radi se o tome da mi treba pomoć oko eratostenovog sita. Znači ispisivanje svih prostih brojeva do 100. Ne znam kome bih se obratio više pa zato vas molim za pomoć. Da li bi mi netko mogao isprogramirati to vražje eratostenovo sito u qbasicu ili mi dati neki link na to gdje ga mogu skinuti. Bilo kakav primjer, imam dovoljno znanja da ga prepravim, ne i napišem sam. Naime, svi primjeri koje mogu naći su u c++ ili c-u, sve samo ne u qbasicu. Pretražio sam dosta toga na netu. Bio bih vam užasno zahvalan jer mi stvarno treba a nemam se kome obratiti. zahvaljujem.
Eratostenovo sito-qbasic
- poruka: 4
- |
- čitano: 3.762
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Jesi li shvatio ideju Eratostenovog sita i kako se njime dobiju prosti brojevi?
Ideja je krenuti od niza brojeva:
2 3 4 5 6 7 8 9 10 11 12 13 ... n
i zatim ih križati dok nam ne ostanu samo prosti brojevi.
2 nije prekrižen, dakle 2 je prost. Križamo sve višekratnike od 2. Dobijemo niz:
2 3 4 5 6 7 8 9 10 11 12 13 ... n (4 je prekrižen al se ne vidi)
Idući neprekrižen je 3. On je dakle prost. Križamo sve njegove višekratnike:
2 3 4 5 6 7 8 9 10 11 12 13 ... n
idući neprekrižen je 5. On je prost, križamo sve njegove višekratnike... itd dok ne dođemo do kraja. Jedini brojevi koji nam ostanu neprekiženi su prosti brojevi.
Ovo sa križanjem se lako izvede uz pomoć polja, u kojem čuvamo da li je prekrižen ili ne. Po brojevima trčimo sa for petljom (sa varijablom i), a križanje ide sa još jednom for petljom unutar ove po i, u kojoj je inkrement i ( j=j+i ).
Još par ifova nam treba i to je to.
Zahvaljujem svima, ideja mi je bila jasna ispočetka, štekao sam malo u implemetnaciji. Ako mi još kaj nebude jasno javim vam. Tnx, pozz.