En dicho programa se analizan algunos aspectos:
1. Cuando el segundo numero ingresado es 0 entonces el programa deberá de retornar 0.
2. Cuando el segundo numero ingresado es 1 entonces se deberá retorna el valor del primer numero ingresado.
3. Si el segundo numero ingresado es distinto de 0 y 1 entonces hay que evaluar lo siguiente:
3.1 Si el segundo numero es mayor que 1 entonces retornaremos lo siguiente a+multiplicar(a, b-1); "Donde a es el primer numero ingresado y b es el segundo" y para llegar al caso base vamos a decrementar a b en 1.
3.2 Si el segundo numero no es mayor que 1 y su valor no es 1 y tampoco es 0 entonces retornaremos -a+multiplicar(a, b+1); y incrementaremos a b en 1 para que llegue a un caso base.
Código en C:
|>Descargar<|
#include<stdio.h>
#include<stdlib.h>
int multiplicar(int a, int b);
main(){
int a, b;
printf("Ingrese el primer numero:");
scanf("%d", &a);
printf("\nIngrese el segundo numero:");
scanf("%d", &b);
printf("%d\n", multiplicar(a,b) );
system("pause");
return 0;
}
int multiplicar(int a, int b){
int acu=0;
switch(b){
case 0:
return 0;
break;
case 1:
return a;
break;
default:
if(b>1){
return a+multiplicar(a, b-1);
}
else{
return -a+multiplicar(a, b+1);
}
break;
}
}
Código en C++:
|>Descargar<|
#include<iostream>
#include<stdlib.h>
using namespace std;
int multiplicar(int a, int b);
main(){
int a, b;
cout << "Ingrese el primer numero:";
cin >> a;
cout << "\nIngrese el segundo numero:";
cin >> b;
cout << multiplicar(a,b) << "\n";
system("pause");
return 0;
}
int multiplicar(int a, int b){
int acu=0;
switch(b){
case 0:
return 0;
break;
case 1:
return a;
break;
default:
if(b>1){
return a+multiplicar(a, b-1);
}
else{
return -a+multiplicar(a, b+1);
}
break;
}
}
3 comentarios:
Buen Codigo amigo, muy bueno al menos para mi, así puedo practicar, y así los demás Geeks Programadores podremos sacar ideas para aplicar tus codigos.
Hola amigo pues gracias por el comentario espero que los códigos que encuentren aquí les sirvan a muchos programadores xD.
muy buen aporte amigo +10 lince intergaláctico
Publicar un comentario