C-Rekursive Funktion für prime-Reihe mit nur einem parameter
Im Versuch, um eine Funktion zu überprüfen, ob eine Zahl Primzahl ist oder nicht, mit Rekursion. Die zwei besten Beispiele sind diese beiden Programme (ohne Rekursion, die man mit Rekursion).
Mit Rekursion:
#include<stdio.h>
int isPrime(int,int);
int main(){
int num,prime;
printf("Enter a positive number: ");
scanf("%d",&num);
prime = isPrime(num,num/2);
if(prime==1)
printf("%d is a prime number",num);
else
printf("%d is not a prime number",num);
return 0;
}
int isPrime(int num,int i){
if(i==1){
return 1;
}else{
if(num%i==0)
return 0;
else
isPrime(num,i-1);
}
}
Ohne Verwendung von Rekursion:
#include<stdio.h>
int isPrime(int);
int main(){
int num,prime;
printf("Enter a positive number: ");
scanf("%d",&num);
prime = isPrime(num);
if(prime==1)
printf("%d is a prime number",num);
else
printf("%d is not a prime number",num);
return 0;
}
int isPrime(int num){
int i=2;
while(i<=num/2){
if(num%i==0)
return 0;
else
i++;
}
return 1;
}
Meine Frage ist: Ist es möglich, eine Funktion, um zu überprüfen, ob eine Zahl Primzahl ist oder nicht, mit Rekursion, aber mit nur einem parameter (wie z.B.: int isPrime(int num))?
Jede Hilfe ist willkommen
Nest Ihre zwei-parameter-Funktion aus einer äußeren ein-parameter-Funktion.
InformationsquelleAutor Rui Moreira | 2014-11-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Globale variable
InformationsquelleAutor αƞjiβ
Verwendung:
InformationsquelleAutor Simon Pham
Ausgabe:
Primzahlen von 0 bis 100: 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
Oops, my bad
sollte in C jetzt
InformationsquelleAutor ray lin
Deklarieren Sie die variable num variable vor der main () - Funktion und übergeben Sie die " num/2` für die isprime () - Funktion.
InformationsquelleAutor Manjunath N