Anonymní profil retriwr – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil retriwr – Programujte.comAnonymní profil retriwr – Programujte.com

 

Příspěvky odeslané z IP adresy 89.24.30.–

retriwr
Pascal › úkol
5. 1. 2009   #93672

To Grungy :
Je zbytečné procházet čísla tak daleko, stačí do půlky. Těžko asi najdeš menšího dělitele než 2 (s výjimkou 1, ale ta dělí i prvočísla, takže ji neuvažuji) a pokud jím vydělíš zadané číslo, dostaneš právě tu půlku. Každé vyšší číslo už musí být pro dosažení zadaného vynásobeno (reálným) číslem menším než 2, tedy se nejedná o dělitele (kromě samotného čísla, které ale neuvažuji ze stejného důvodu jako číslo 1).
Možná se to lépe vysvětlí na příkladě - pokud mám zadané číslo 100, můžu dojít k rozkladům (1*100) 2*50, 4*25, 5*20, 10*10, od 51 do 99 tam není vůbec nic.
Možná někdo vymyslí i další vylepšení, ale myslím, že už by to potřebovalo složitější úvahy a nějaké podmínky, toto je celkem jednoduché a ušetří polovinu výpočtů.
Jinak při tomto zadání se mi matně vybaví pojem "Erastenovo síto", bohužel už vůbec netuším, oč jde a zdali se to týká tématu, ale pokud si chce někdo zagooglit, třeba to pomůže.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý