|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Oct 2006
Messaggi: 170
|
ricorsione in C...non finirai mai di uccidermi
raga un altro problema ricorsivo. ho fatto una funzione che mi dice se un numero è primo oppure no. ovverso torna 1 se il numero è primo, torna 0 se il numero non è primo. la devo fare con ricorsione. chi mi aiuta. ecco la funzione:
int is_prime(int a){ long r; if (a==0){ return 0; } if (a<=3){ return 1; } else { r=a % 6; if ((r==1) || (r==5)){ for (r=3;r<=sqrt(a);r=r+2){ if ((a % r) == 0){ return 1; } else { return 0; } } } } } |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Per adesso non mi viene in mente, comunque ti avverto
che 1 non e' primo.
__________________
|Java Base| |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2005
Città: Barcelona
Messaggi: 200
|
int isprime(int value, int i){
if(i == (int)(value/2)) return 1; if(value % i++ == 0) return 0; else isprime(value, i); } invocata con isprime(x, 2) dovrebbe essere ok, ma nn ci giurerei visto che sn in piedi da ieri sera per studiare
__________________
Code without tests is broken by design. |
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: May 2006
Messaggi: 71
|
Quote:
Se vogliamo, allora, zero non e' "non primo", ma la funzione non e' definita, come per i numeri negativi. Come per il Log, per intenderci... |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
In effetti e' una scelta, come le tante altre che si fanno in matematica
http://it.wikipedia.org/wiki/Numero_...non_sono_primi
__________________
|Java Base| |
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Oct 2006
Messaggi: 170
|
Ma la i che gli devo passare che roba è?
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Nov 2002
Città: Brianza Saudita
Messaggi: 66
|
Volendo quella i potrebbe anche essere inizializzata a 2 e non passata come parametro, in pratica ti dice quale numero sarà il primo divisore...
__________________
Ho concluso affari con: @GuyBrush@ ; stefocus ; ilBenny ; jgvnn; dabba; A4style; Widowmaker |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2788
|
Se non la passi come parametro non puoi fare la ricorsione
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:00.











|








