Hoe te weten of een cijfer priem is
De priemgetallen zijn alleen deelbaar tussen zichzelf en 1. Aan de andere kant worden alle andere cijfers samengestelde getallen genoemd. Er zijn veel methoden om te weten of een getal priemgetal is, maar er is altijd een zekere foutenmarge. Er zijn ook nauwkeurige maar zeer langzame tests om grote aantallen te analyseren, evenals andere veel snellere, maar ze kunnen valse resultaten geven. In dit artikel ziet u enkele opties om een priemgetal te detecteren op basis van de grootte.stappen
Deel 1
Gebruik verschillende tests om een priemgetal te detecterenLet op: in alle formules, n is het nummer waarvan u de primaliteit wilt bewijzen.
1
Gebruik de verdeling door voorzichtig te zijn. verdelen n tussen elk priemgetal van 2 tot de plafondfunctie ().
2
Voer de kleine stelling van Fermat uit. Waarschuwing: u kunt vals-positieven krijgen, zelfs voor alle waarden van a.
3
Voert de Miller-Rabin-primaliteitstest uit. Waarschuwing: je zou valse positieven kunnen krijgen, maar het gebeurt zelden in meerdere waarden van a.
Deel 2
Begrijp de tests om priemgetallen te detecteren1
Begrijp de methode van deling door een poging. Volgens de definitie van primaliteit, n is alleen een priemgetal als het niet gelijk verdeeld kan worden over hele getallen zoals 2 of meer. De formule van de vader bespaart je tijd door onnodige tests weg te gooien (bijv. Na het testen van 3, is het niet nodig om hetzelfde te doen met 9).
- Het functieplafond (x) rondt x af tot het dichtstbijzijnde gehele getal ≥ x.
2
Het omvat modulaire rekenkunde. De bewerking "x mod y" (afkorting voor "module") betekent "delen" x "tussen" en "en vindt het residu." Met andere woorden, in modulair rekenen gaan de getallen terug naar nul na het bereiken van een bepaalde bekende waarde als de "module". Een klok telt in module 12 (dat wil zeggen, het gaat van 10 naar 11 en naar 12) en keert dan terug naar 1.
3
Houd rekening met de problemen met de kleine stelling van Fermat. Alle getallen die niet aan deze test voldoen, zijn samengesteld (geen neven en nichten), maar helaas zijn degenen die wel slagen, alleen waarschijnlijk neven en nichten. Als je veilig valse positieven wilt vermijden, kijk n in een lijst met "Carmichael-nummers" (die deze test de hele tijd doorgeven) en "Fermat pseudoprimos" (die deze test alleen doorstaan voor sommige waarden van a).
4
Gebruik waar nodig de Miller-Rabin-primaliteitstest. Hoewel het moeilijk is om met de hand te spelen, wordt deze test meestal gedaan met software. Het duurt niet lang en heeft weinig vals-positieven in vergelijking met de methode van Fermat. Een samengestelde nummer geeft nooit een vals positief voor meer dan ¼ van de waarden van a. Als u meerdere waarden kiest van om willekeurig te slagen en deze test te doorstaan, kun je bijna alle zekerheid hebben dat n is een neef
5
Voer modulaire rekenkunde uit om grote aantallen te analyseren. Als je geen rekenmachine hebt met de "mod" -functie of als degene die je hebt niet zulke hoge getallen kan representeren, gebruik dan de eigenschappen van de exponenten en de modulaire rekenkunde om het proces te vergemakkelijken. In dit geval zullen we als voorbeeld gebruiken mod 50:
Deel 3
Gebruik de Chinese stelling van de rest1
Kies twee nummers Een van hen zou geen neef moeten zijn, terwijl de ander degene zou moeten zijn die je moet analyseren om zijn primaliteit te ontdekken.
- "Primo1" = 35
- primo2 = 97
2
Kies twee gegevenspunten die groter zijn dan nul en kleiner zijn dan respectievelijk primo1 en primo2. Ze kunnen niet hetzelfde zijn.
3
Bereken de multiplicatieve inverse (IM) van de getallen primo1 en primo2.
4
Maak voor elke IM een binaire conversietabel totdat u de log2 van de module bereikt.
5
Bereken (data1 * primo2 * IM1 + data2 * primo1 * IM2)% (primo1 * primo2).
6
Controleer of "primo1" geen priemgetal is.
7
Controleer of primo2 een priemgetal is.
8
Herhaal stap 1 tot en met 7 nog minstens twee keer.
tips
- De 168 priemgetallen van minder dan 1000 zijn de volgende: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71 , 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197 , 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349 , 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499 , 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659 , 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829 , 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
- Hoewel de voorlopige delingsmethode langzamer is dan de andere geavanceerde methoden die specifiek zijn voor grote getallen, is deze nog steeds erg efficiënt voor kleine getallen. Zelfs om te weten of grote aantallen neven zijn of niet, is het niet ongebruikelijk om eerst de kleine factoren te controleren voordat een meer geavanceerde methode wordt gebruikt in het geval dat deze factoren niet worden gevonden.
Dingen die je nodig hebt
- rekenhulpmiddelen: potlood, papier of een computer
Delen op sociale netwerken:
Verwant
- Hoe binaire getallen te decoderen
- Hoe hoofdletters en kleine letters in binaire code te schrijven
- Hoe de deelbaarheid tussen cijfers met één cijfer te berekenen
- Hoe breuken tussen breuken te delen
- Hoe de maximale gemeenschappelijke factor te vinden
- Hoe de hoogte van een driehoek te vinden
- Hoe de priemfactoren van een getal te vinden
- Hoe een getal te berekenen
- Hoe trinomials te factoreren
- Hoe een factorboom te maken
- Hoe de kleinste gemene deler te identificeren
- Hoe decimalen te vullen
- Hoe breuken te verminderen
- Hoe een antilogaritme op te lossen
- Hoe gemengde getallen af te trekken
- Hoe de deelbaarheid van 11 te controleren
- Hoe weet je hoeveel factoren een getal heeft
- Hoe een onjuiste breuk te vereenvoudigen
- Hoe een wiskundige reden te vereenvoudigen
- Hoe een vierkantswortel te vereenvoudigen
- Hoe een telraam te gebruiken