Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Ahojte, mam otazku: Existuje vzorec na prvocisla taky ze ja vam poviem lubuvolne cislo co ja viem napriklad 154720451 a vy my s fleku podla vzorca poviete ci je to prvocislo alebo nie, existuje taky vzorec? Ak mate nieco take tak prosim napiste mi ho dakujem.
Offline
Offline
Ahoj..O tomto sa veľa dočítaš na wikipédii:
http://en.wikipedia.org/wiki/Prime_number
Offline
↑ Matej1117:
Ahoj..Ja tiež neviem anglicky. ↑ zdenek1: má pravdu. Je to nevyriešený matematický problém už dlhé stáročia. Skús ho vyriešiť napríklad ty a nájdi taký vzorec :)
Offline
↑ Matej1117: Sprav si program (predpoklad, že vieš programovať). Alebo skús nájsť na internete aplikáciu, ktorá to bude robiť.
Alebo použi algoritmus, s ktorým sa určite dopracuješ k správnemu riešeniu:
1) Nech n je číslo o ktorom chceš rozhodnúť, či je prvočíslo.
2) sprav 
3) všetkými prirodzenými číslami od
do
(vrátane n) skúšaj vydeliť číslo n
4) ak nájdeš deliteľa, tak to nie je prvočíslo.
Prečo akurát druhá odmocnina? Za druhou odmocninou sa už nenachádza deliteľ, ktorý by nebol násobkom deliteľa pred druhou odmocninou. Rozmysli si prečo sám.
Postup môžeš samozrejme urýchliť. Ak číslo nie je párne, tak určite nebude deliteľné násobkami dvojky atď.
Časová zložitosť tohoto postupu je
, najviac vykonáš zhruba
porovnaní a to práve vtedy, keď je n prvočíslo. Nie je to žiadna sláva ale lepšie ako nič.
A ešte ... po spravení druhej odmocniny zanedbaj desatinnú časť.
Offline
pizet toto je zaujimave to som nevedel dik velmi si mi pomohol a vsetkemu chapem aj to preco do druhej mocniny ale nechapem tej casovej zlozitosti to co znamena ze ako dlho mi to bude trvat alebo co? dik za odpovede
Bakyx a pochybujem ze ja by som nasiel lepsi sposob, logicky - ak je pravda ze po cele starocia to nikto nevyriesil tak pochybujem ze s vecou pohnem :D
Offline
↑ pizet: Jen malé doplnění k bodu 3, jak program (trochu) urychlit. Stačí zkoušet jen prvočísla v dané množině a ne všechna celá čísla (například na dělitele 9 bychom narazili již při zkoušení trojky).
Pakliže v programu nechceme mít nějakou velkou databázi prvočísel (a generovaly by se pomalu), tak můžeme udělat jen jakýsi kompromis mezi oběma metodami: Ten spočívá v tom, že budeme zkoušet jenom lichá čísla a dvojku vyzkoušíme zvlášť.
Například testování 47ky na prvočíselnost (zkoušíme všechna celá čísla):
2, 3, 4, 5, 6
A při testování jen lichými čísly a dvojkou:
2, 3, 5
Tento postup by mohl být až přibližně dvakrát rychlejší. Asymptotickou časovou složitost to ale nijak nevylepší - zůstane 
Edit: ta časová složitost ukazuje, jak rychlý bude program v závislosti na velikosti vstupu. V tomto případě: pokud se vstup (velikost čísla na prvočíselný test) zvýší 2x, tak se potřebná doba zvětší jen
-krát.
Edit 2: aha, pizet už to doplnil do svého příspěvku
Offline
ale pri extremne vysokych cislach to moze trvat velmi dlho nie? taka 47 viem ze je prvocislo ale napriklad 10 na miliontu minus jedna ?? neviem ci je to dobra metoda, nic v zlom. Cital som ze velke prvocisla sa pouzivaju v kriptografii, pouzivaju na ich odhalenie tento sposob?
Offline
↑ TomDlask: No áno :). Tým urýchlením som myslel to, čo ty, že ak pri vypisovaní narazí trebárs na fakt, že číslo nie je deliteľné dvomi, tak už nemusí skúšať násobky dvojky a keď tromi, tak to isté atď.
Riešiš KSP? Ak áno môžem vedieť tvoje meno? :)
↑ Matej1117: Možno by ťa ešte zaujímalo toto http://sk.wikipedia.org/wiki/Eratostenovo_sito ... je to síce trocha iné ale tiež zaujímavý algoritmus súvisiaci s prvočíslami :)
Áno pre veľké n to môže trvať dlho. :) Však si to skús spraviť. Tebe to bude iste trvať aj pre relatívne malé n celkom dlho :).
Offline
↑ Matej1117: To bola otáka na TomDlaska.
Offline
↑ Matej1117: Erastostenovo síto je způsob získávání prvočísel, ta metoda, která zde byla uvedena, je na otestování čísla zda-li je (nebo není) prvočíslem. Technika je podobná, protože jde o stejnou vlastnost - prvočíselnost.
↑ pizet: KSP bohužel neřeším, zato se letos pokouším o MO-P
Offline