Verificatore primi di Wieferich
Il 1093 è un primo di Wieferich: 2 elevato a 1092 dà resto 1 nella divisione per 1093², cioè 1194649. Inserisca un primo per vedere quel resto e se questa condizione così rara è soddisfatta. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Potenza (W)
- 1093
- p al quadrato
- 1194649
- Resto
- 1
- Espressione
- 2^{1092} ≡ 1 (mod 1194649)
Un primo di Wieferich è un numero primo p per il quale due elevato a p meno uno lascia resto uno quando si divide per p al quadrato. Quella congruenza rafforza l'enunciato abituale del piccolo teorema di Fermat secondo cui due a p meno uno è uno modulo p, e compare nello studio dell'ultimo teorema di Fermat per il primo caso, nei lemmi di elevamento dell'esponente e nei vincoli sui numeri perfetti dispari. Solo due tali primi sono noti—1093 e 3511—così la maggior parte dei primi quotidiani fallisce il test. Questo verificatore accetta un unico primo p, verifica la primalità, calcola la potenza modulare esatta con aritmetica BigInt deterministica e restituisce se il resto è uno insieme a p al quadrato e a una breve stringa di congruenza.
Cos'è un primo di Wieferich e perché il modulo è p al quadrato
Il piccolo teorema di Fermat afferma che se p è primo e non divide la base a, allora a elevato a p meno uno è congruente a uno modulo p. Per a uguale a due ciò è semplicemente due a p meno uno congruente a uno modulo p per ogni primo dispari p. Un primo di Wieferich chiede la stessa congruenza un modulo più alto: due a p meno uno deve essere congruente a uno modulo p al quadrato, non solo modulo p.
In modo equivalente, l'ordine di due nel gruppo moltiplicativo delle unità modulo p al quadrato divide p meno uno in modo che il quoziente di Fermat di due in base p si annulli. Quel fattore p extra nel modulo rende la condizione estremamente rara. Ricerche informatiche esaustive hanno controllato primi ben oltre qualsiasi esempio didattico, e le uniche soluzioni note restano p uguale a 1093 e p uguale a 3511.
Il primo due fallisce: due alla prima potenza è due, e due modulo quattro è due, non uno. Primi ordinari come tre, cinque, sette e undici producono resti diversi da uno quando due a p meno uno è ridotto modulo p al quadrato.
Dove un verificatore di primi di Wieferich dà valore
I corsi di teoria dei numeri e le piattaforme di allenamento per gare usano un verificatore di primi di Wieferich affinché chi studia possa verificare le affermazioni dei manuali sui due esempi noti senza implementare a mano l'esponenziazione modulare e senza confondere il modulo p con p al quadrato. Taccuini di ricerca e script di matematica ricreativa chiamano lo stesso contratto quando scansionano primi candidati o validano tabelle offline contro un oracolo indipendente.
Siti di contenuto che si posizionano su verificatore di primi di Wieferich o sul quoziente di Fermat beneficiano di uno strumento live il cui percorso gratuito coincide byte per byte con l'automazione a pagamento. Team di ingegneria che insegnano o dimostrano teoria dei numeri crittografica possono mostrare come una congruenza simile al piccolo teorema di Fermat diventi rarissima una volta che il modulo è al quadrato, rafforzando perché le ipotesi modulari ingenue richiedono un enunciato attento.
Preferisca questo strumento quando la domanda è strettamente se un dato primo soddisfa due a p meno uno congruente a uno modulo p al quadrato—non quando serve una ricerca di tutti i primi in un intervallo, un servizio di fattorizzazione completa o certificati per interi da migliaia di bit.
Casi d'uso
Oracolo indipendente per taccuini di ricerca
Validi tabelle offline o scansioni scriptate di primi candidati contro un'implementazione deterministica di potenza modulare.
Domande frequenti
Cos'è un primo di Wieferich?
Un primo p tale che 2^{p−1} ≡ 1 (mod p²). Solo 1093 e 3511 sono noti. Il controllo è più severo del piccolo teorema di Fermat, che richiede solo la congruenza modulo p.
Il 1093 è un primo di Wieferich?
Sì. Il quadrato di 1093 è 1194649, e 2 elevato a 1092 dà resto 1 nella divisione per quel quadrato, che è proprio la condizione di Wieferich. È uno dei soli due esempi noti.
Quanti primi di Wieferich si conoscono?
Solo due: 1093 e 3511. Le ricerche al computer hanno controllato primi molto più grandi di qualsiasi esempio scolastico senza trovarne un terzo, quindi quasi ogni primo che proverà fallirà.
Il 2 è un primo di Wieferich?
No. Per il primo 2 la potenza è 2 elevato a 1, cioè 2, e 2 diviso per 4 dà resto 2, non 1. La condizione non è soddisfatta.
In cosa differisce un primo di Wieferich dal piccolo teorema di Fermat?
Il piccolo teorema di Fermat dice che 2 elevato a p meno 1 dà resto 1 nella divisione per p, per ogni primo dispari. Un primo di Wieferich richiede quel resto 1 nella divisione per il quadrato di p.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/numth/wieferich-prime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"p":1093}'const res = await fetch("https://api.kit.forhosting.com/numth/wieferich-prime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"p": 1093
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/wieferich-prime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"p": 1093
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/wieferich-prime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"p":1093}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"p":1093}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/wieferich-prime", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"p": 1093
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.wieferich_prime",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
L'ingresso composto viene rifiutato con invalid_input anziché un falso negativo, così script per i compiti e taccuini di ricerca non trattano mai un composto come primo non-Wieferich per errore.
Cos'è un primo di Wieferich e perché il modulo è p al quadrato
Questo endpoint codifica esattamente quella definizione: non allenta mai il modulo di nuovo a p, non sostituisce mai un testimone probabilistico e non restituisce mai is_wieferich true a meno che la potenza modulare completa sia uno.
Contratto di ingresso, campi di risposta e comportamento di errore
In modo critico, p deve essere primo. Se il candidato è composto—ad esempio quattro, nove o quindici—il gestore rifiuta la richiesta con un messaggio che nomina il valore e indica che non è primo. Quel disegno coincide con la definizione matematica (i primi di Wieferich sono una sottoclasse dei primi) e evita che i client leggano un fallimento di composto come un false di successo. Invii un corpo JSON con POST con il campo intero obbligatorio p (alias prime e n). Il valore può arrivare come numero JSON o come stringa di cifre decimali; deve essere un intero intero almeno due e al massimo il tetto degli interi sicuri JavaScript. Frazioni, booleani, stringhe vuote e campi assenti falliscono con invalid_input prima di qualsiasi esponenziazione. In caso di successo il corpo include p eco come numero; p_squared come stringa decimale esatta di p per p; remainder come stringa decimale esatta di due a p meno uno modulo p al quadrato; is_wieferich come booleano vero solo quando remainder è uno; e expression, una congruenza leggibile.
Dove un verificatore di primi di Wieferich dà valore
Poiché la capacità è parse pura di livello A, ogni chiamata riuscita è deterministica, offline e tariffata a $0.002 senza token di modello. Mantenga p primo e nel range sicuro pubblicato, tratti invalid_input come correzione del client e fissi la stringa remainder nei test così che refactor futuri non cambino silenziosamente il risultato modulare.
Casi di integrazione
Controlli in aula dei due esempi noti
Consenta agli studenti di inviare p uguale a 1093 o 3511 e di confermare che is_wieferich è true, poi di confrontare con primi ordinari come 3, 5 o 7.
Landing SEO e widget gratuito del browser
Offra una pagina di verificatore di primi di Wieferich il cui percorso gratuito coincida con remainder e flag dell'API per lo stesso primo p.
Domande tecniche
Quale ingresso accetta il verificatore?
Un unico intero primo p ≥ 2 (campo p, alias prime o n), come numero JSON o stringa di cifre nel range degli interi sicuri. Non primi e valori malformati falliscono con invalid_input.
Cosa succede se p non è primo?
L'attività fallisce con invalid_input. I primi di Wieferich sono definiti solo per i primi; i composti vengono rifiutati invece di essere restituiti come is_wieferich false.
2 è un primo di Wieferich?
No. 2^{1} = 2 e 2 mod 4 è uguale a 2, non a 1, quindi is_wieferich è false per p uguale a 2.
Quanto costa il verificatore di primi di Wieferich?
Lo strumento del browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l'ingresso non valido non viene fatturato.