Avatar
Josef Vondra
Člen
Avatar
Josef Vondra:

Zdravím, chtěl jsem si udělat program, který by rozložil jakékoliv číslo na prvočísla, ale tak nějak nedokážu přijít na to, od čeho se odpíchnout a jak začít ..
Chtěl bych, aby to třeba číslo 10 rozdělilo na 2*5, číslo 20 na 22*5 atd.. :)
Myslíte, že by to nějak šlo? :)

 
Odpovědět 31. října 13:21
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Josef Vondra
DarkCoder:

Co třeba začít tím jak využít operátor modulo a for cyklus? Pokud chceš rozložit číslo na prvočinitele, musíš znát která čísla jsou prvočísla. Vygeneruj si prvočísla v rozsahu číslo/2, postupně děl číslo zadanými prvočísly a to prvočíslo, kde je dělení bezezbytku je jedním z prvočinitelů daného čísla. Po dělení si aktualizuj hodnotu čísla a pokračuješ opět od začátku. To opakuj tak dlouho dokud nebude zbytek roven 0. Výsledkem jsou prvočinitele daného čísla.

 
Nahoru Odpovědět 31. října 14:09
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na DarkCoder
Martin Dráb:

Vygeneruj si prvočísla v rozsahu číslo/2

Stačí druhá odmocnina z rozkládaného čísla.

Nahoru Odpovědět  +1 31. října 14:44
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.