Stránky: 1
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

Stačí vyhledat prvočísla do
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 .
Offline

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