Versión Completa : Ayuda con función recursiva
jtalel
abril 23, 2007, 10:01
Buenas Laneros,
Estoy haciendo un programa en modo grafico en builder c++,
Tengo que generar la matriz .. m filas, n columnas.. ya lo ise.
y buscar el primo mas pequeño de la matriz.
Tengo un algoritmo, que es el siguiente:
main()
{
long Num,divisor=2;
printf("\t Introducir el Numero = ");
scanf("%ld",&Num);
while(divisor<Num)
{ while( Num % divisor != 0)
divisor=divisor+1;
if(Num== divisor)
printf("\t %ld es PRIMO \n",Num);
else
printf("\t%ld NO es PRIMO ,pues ES multiplo de %ld \n",Num,divisor);
break;
}
getch();
}
Que dice si es primo o no, y en caso de que no sea, me dice su multiplo(no es realmente necesario ahora).
A ver si me pueden ayudar a hacer una Funcion recursiva, que diga si un numero es o no es primo, y yo me encargo de arreglarlo para que compare entre todos y diga cual es el menor.
Me parece que una funcion booleana lo haria...
UAC_Likibuay
abril 23, 2007, 02:36
Buenas Laneros,
Estoy haciendo un programa en modo grafico en builder c++,
Tengo que generar la matriz .. m filas, n columnas.. ya lo ise.
y buscar el primo mas pequeño de la matriz.
Tengo un algoritmo, que es el siguiente:
main()
{
long Num,divisor=2;
printf("\t Introducir el Numero = ");
scanf("%ld",&Num);
while(divisor<Num)
{ while( Num % divisor != 0)
divisor=divisor+1;
if(Num== divisor)
printf("\t %ld es PRIMO \n",Num);
else
printf("\t%ld NO es PRIMO ,pues ES multiplo de %ld \n",Num,divisor);
break;
}
getch();
}
Que dice si es primo o no, y en caso de que no sea, me dice su multiplo(no es realmente necesario ahora).
A ver si me pueden ayudar a hacer una Funcion recursiva, que diga si un numero es o no es primo, y yo me encargo de arreglarlo para que compare entre todos y diga cual es el menor.
Me parece que una funcion booleana lo haria...
listo ya le ayudo! =)
EDIT:
Aqui funcion recursiva...
primo(int x,int &i,int &sw){
if(i<=(x/2) && sw==0){
if(x % i ==0){
sw=1;
}
}
else{
primo(x,i+1,sw);
}
}
aqui como la invocas...
int i=2,sw=0;
primo(Edit1->Text.ToInt(),i,sw);
if(sw==0)ShowMessage("Primo");
else ShowMessage("NO Primo");
bueno.. si no es más... q la disfrutes!
jtalel
abril 24, 2007, 03:29
listo ya le ayudo! =)
EDIT:
Aqui funcion recursiva...
primo(int x,int &i,int &sw){
if(i<=(x/2) && sw==0){
if(x % i ==0){
sw=1;
}
}
else{
primo(x,i+1,sw);
}
}
aqui como la invocas...
int i=2,sw=0;
primo(Edit1->Text.ToInt(),i,sw);
if(sw==0)ShowMessage("Primo");
else ShowMessage("NO Primo");
bueno.. si no es más... q la disfrutes!
Muchas Gracias!!
Le agradezco de veras su ayuda!
Creo que con eso se puede cerrar el tema..
UAC_Likibuay
abril 24, 2007, 03:40
Muchas Gracias!!
Le agradezco de veras su ayuda!
Creo que con eso se puede cerrar el tema..
:)
de nada loco.... a la orden...
jtalel
abril 24, 2007, 03:43
EDIT:
Aqui funcion recursiva...
primo(int x,int &i,int &sw){
if(i<=(x/2) && sw==0){
if(x % i ==0){
sw=1;
}
}
else{
primo(x,i+1,sw);
}
}
Compadre,
Ahora que veo bien la funcion recursiva.. no se si estoy equivocado, igual soy nuevo en esto..
en la funcion recursiva segun tengo entendido debe hacerse una asignacion al nombre de la funcion.. no es correcto?
primo(int x,int &i,int &sw)
{
if(i<=(x/2) && sw==0)
{
if(x % i ==0)
{
sw=1;
}
else
{
primo=primo(x,i+1,sw);
}
primo=sw;
return
}
??
UAC_Likibuay
abril 24, 2007, 03:52
EDIT:
Aqui funcion recursiva...
primo(int x,int &i,int &sw){
if(i<=(x/2) && sw==0){
if(x % i ==0){
sw=1;
}
}
else{
primo(x,i+1,sw);
}
}
Compadre,
Ahora que veo bien la funcion recursiva.. no se si estoy equivocado, igual soy nuevo en esto..
en la funcion recursiva segun tengo entendido debe hacerse una asignacion al nombre de la funcion.. no es correcto?
primo(int x,int &i,int &sw)
{
if(i<=(x/2) && sw==0)
{
if(x % i ==0)
{
sw=1;
}
else
{
primo=primo(x,i+1,sw); // aquí hago la asignación
}
primo=sw;
return
}
??
esta en todo lo correcto... si no asignara nada en la funcion no podría buscar los divisores del nuemro q deseo ver si es primo o no.
jtalel
abril 24, 2007, 06:49
esta en todo lo correcto... si no asignara nada en la funcion no podría buscar los divisores del nuemro q deseo ver si es primo o no.
Muchas Gracias!! ;)
Ya podemos cerrar el tema..
vBulletin®, Copyright ©2000-2009, Jelsoft Enterprises Ltd.