Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 14. 04. 2009 22:31

jardasmid
Příspěvky: 65
Reputace:   
 

Násobek 2 prvočísel v C/C++

Dobrý den,

mám nějaké číslo a potřebuji zjistit, jestli vzniklo vynásobením 2 prvočísel a když ano, tak kterých.

---
Nejprve jsem to chtěl udělat pomocí Eratosthenova síta: vyhledat prvočísla do číslo/2 a pak zkoušet násobky, ale to mi přijde strašně časově náročné. Nešlo by to udělat lépe?

Offline

 

#2 15. 04. 2009 02:30

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Násobek 2 prvočísel v C/C++

Stačí vyhledat prvočísla do $\sqrt{cislo}$ a každým z nich zkusit vydělit. Pokud je to úloha do programování, pak se mi toto řešení jeví jako adekvátní. Pokud jde o úlohu do teorie čísel, doporučil bych pomoci si např. Polardovým rho algoritmem: http://en.wikipedia.org/wiki/Pollard%27s_rho_algorithm .


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#3 15. 04. 2009 12:38

jardasmid
Příspěvky: 65
Reputace:   
 

Re: Násobek 2 prvočísel v C/C++

Díky. Stejně jsem to musel udělat do poloviny, protože potřebuju ověřit i to druhé číslo: např 56, sedí např. 2, vydělím, dostanu 28 a tu musím taky ověřit.

Offline

 

#4 15. 04. 2009 13:14

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Násobek 2 prvočísel v C/C++

↑ jardasmid:Ta prvočísla vážně stačí do $\sqrt{56}$. Pro 56 najdu 2, vydělím, dostanu 28 a pak 28 zkusím dělit všemi nalezenými prvočísly do $\sqrt{28}$. Doufám že je vidět, že to takto bude fungovat obecně.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#5 15. 04. 2009 14:15

jardasmid
Příspěvky: 65
Reputace:   
 

Re: Násobek 2 prvočísel v C/C++

↑ Kondr:To je pravda ... tak to zkusím upravit

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson