Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157

    Creare script creazione numeri primi

    Ciao a tutti, volevo fare un piccolo script per la creazione di numeri primi senza però doverli inserire tutti in un database ma solamente attraverso php... Non so se è possibile.... in pratica (partendo prima dal semplice) dovrei inserire un numero da una form e mi lui mi restituisce tutti i valori per il quale è divisibile, se è divisibile solamente per se stesso e per uno mi esce scritto che è un numero primo. a quel punto, SE POSSIBILE, vorrei realizzare un qualcosa che io inserisco un numero ($n) e lui mi restituisce il numero primo + alto che è di $n cifre precedentemente inserite.... spero di essermi spiegato bene.... grazie aspetto rix da voi maghi del php....

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157
    scusatemi, non avevo provato la funzione cerca del forum.... grazie mille anche se non era proprio questa la mia intenzione ma ho risolto lo stesso....

  4. #4
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    esistono diversi algoritmi per calcolare un numero primo...

    c'è quello di provare a dividere il numero n fino a radice di n...

    oppure il CRIVELLO DI ERATOSTENE
    "I numeri primi si definiscono in matematica come quei numeri naturali che sono divisibili solo per 1 e per se stessi.Esiste un antichissimo metodo (forse uno dei primi algoritmi di cui si abbia conoscenza) per generare tutti i numeri primi da 1 ad n, noto come crivello di eratostene, che risale al III secolo a.c: si scrivono tutti i numeri naturali da 1 a n. Si comincia da 2 e si cancellano tutti i suoi multipli(4,6,8,10...).Si prende il prossimo numero non cancellato, il 3 e si cancellano tutti i suoi multipli. A questo punto il primo numero non cancellato è il 5 e si cancellano i suoi multipli e cosi via."

    basta solo scrivere quello che si preferisce

  5. #5
    il crivello è un pò troppo dispendioso ... e dato che bisogna creare la lista e scorrerla (o verificarla) più volte tanto vale usare una funzione banale tipo questa
    codice:
    function is_prime($n){
    	$result = 1;
    	for($nm = floor($n / 2); $nm > 1; $nm--) {
    		if(!($n % $nm))
    			$nm = $result = 0;
    	}
    	return $result;
    }
    che non usa chissà quale algoritmo ma è abbastanza veloce, sui 4 secondi per i primi 1000 numeri primi ...

    codice:
    for($n = 2; $n < 7920; $n++) {
    	if(is_prime($n))
    		echo $n.'
    ';
    }
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157
    grazie mille ancora anke se mi rendo conto solo adesso che il mio obiettivo è pressochè impossibile visto che volevo che mi calcolasse il numero primo più grande di X ma siccome il mio X è troppo grande è impossibile....

  7. #7
    Originariamente inviato da Seso7
    grazie mille ancora anke se mi rendo conto solo adesso che il mio obiettivo è pressochè impossibile visto che volevo che mi calcolasse il numero primo più grande di X ma siccome il mio X è troppo grande è impossibile....
    considera che ci sono (o c'erano ?) premi da centinaia di migliaia di dollari per chi riesce a trovare numeri primi con valore da 1.000.000 di numeri in su ... insomma non è proprio semplice torvarlo velocemente ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157
    sisi, lo so.... infatti ho visto anke ke il numero primo + grande era una cosa di un numero elevatissimo di cifre.... già ke ci sono ecco il link
    ho letto ke c'è un premio di 100mila dollari per chi riesce a trovare un numero primo con più di 10 milioni di cifre....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.