Oppure

Loading
30/09/15 15:38
osharko
Postato originariamente da nessuno:

Quindi se fornisco un numero qualsiasi, esempio

83475098347509837411

il tuo algoritmo non può determinare se è primo senza esaminare "tutti" quelli precedenti??



se lo facesse, avremmo trovato un metodo per determinare se un numero è primo, e in matematica non esiste ancora nulla del genere.
In più il mio li calcola, non l'ho impostato in modo tale che controlli se un numero è primo
aaa
30/09/15 15:53
Postato originariamente da osharko:
se lo facesse, avremmo trovato un metodo per determinare se un numero è primo, e in matematica non esiste ancora nulla del genere.


Forse ti confondi ...

it.wikipedia.org/wiki/…

In più il mio li calcola, non l'ho impostato in modo tale che controlli se un numero è primo


Che vuol dire "li calcola" ? Non ha molto senso "calcolare" un numero primo ... questo sì che non ha senso ...
30/09/15 18:14
Ultimo
non è ancora possibile stabilire con un calcolo matematico quale sarà il prossimo numero primo dopo l'ultimo trovato, quindi l'unico metodo è per tentativi
If ok Then GOTO Avanza else GOTO Inizia

30/09/15 18:30
Postato originariamente da Ultimo:

non è ancora possibile stabilire con un calcolo matematico quale sarà il prossimo numero primo dopo l'ultimo trovato, quindi l'unico metodo è per tentativi


Appunto ...
30/09/15 19:01
osharko
Postato originariamente da nessuno:
Che vuol dire "li calcola" ? Non ha molto senso "calcolare" un numero primo ... questo sì che non ha senso ...


Determinare se un numero è primo.

Il Test di primalit... beh è un test probabilistico, non da certezze quindi non direi che l'algoritmo definitivo è stato trovato.

Io semplicemente controllo se ogni numero da 3 (asserisco che 2 è primo e poi parto da 3) 2^64 -1 (esclusi i numeri pari). La "particolarità" sta nel fatto che non confronto tale numero con tutti i precedenti per capire se è primo, ma solo con i numeri primi che lo precedono
aaa
30/09/15 19:30
Il Test di primalit... beh è un test probabilistico, non da certezze quindi non direi che l'algoritmo definitivo è stato trovato.


Ma che dici ??

SOLO l'algoritmo di Miller-Rabin è probabilistico ma gli altri no !!

Soprattutto ECPP (basato sulle curve ellittiche) è il più veloce ed usato !

Io semplicemente controllo se ogni numero da 3 (asserisco che 2 è primo e poi parto da 3) 2^64 -1 (esclusi i numeri pari). La "particolarità" sta nel fatto che non confronto tale numero con tutti i precedenti per capire se è primo, ma solo con i numeri primi che lo precedono


Non ho capito nulla di questa spiegazione. E soprattutto non capisco se TU asserisci o ti basi su qualche principio matematico conosciuto ...
Ultima modifica effettuata da 30/09/15 19:30
30/09/15 20:30
osharko
Postato originariamente da nessuno:
Non ho capito nulla di questa spiegazione. E soprattutto non capisco se TU asserisci o ti basi su qualche principio matematico conosciuto ...


-I numeri primi che il mio algoritmo trova vengono memorizzati in una lista.
-Il primo elemento inserito nella lista è 2
-Dopodichè porto il numero corrente a 1 e comincio la scansione ciclica, incremento ogni volta il numero corrente che analizzo di 2 (per saltare i numeri pari)
-Il numero in questione viene diviso per tutti i numeri primi compresi nella lista, finchè questi primi avranno un valore al più uguale a sqrt(corrente)


Ora va meglio? Spero di si...
aaa
30/09/15 21:12
Ah, ma quindi è il test di primalità basilare, praticamente quello espresso come primo test nella pagina di wikipedia che ti ho indicato.

Quindi, come ti dicevo, adotti un test di primalità, NON calcoli il prossimo numero primo perché NON si può (almeno per ora) fare.

Così come fai hai bisogno della lista dei numeri primi precedenti, ma non è necessario. Il test di primalità lo puoi fare anche testando i valori (ovviamente dispari) fino alla radice di n. In questo modo puoi testare un qualsiasi valore.
Ultima modifica effettuata da 30/09/15 21:19