Programa de recursividad que realiza la
multiplicación de 2 números
Proceso:
-cuando el 2do numero ingresado es 0 entonces
el programa deberá retornar 0
-cuando el 2do numero ingresado es 1 entonces
se deberá retornar el valor de 1er número ingresado
-Si el 2do numero ingresado es distinto de 0 y
1 entonces hay que evaluar los siguiente:
-Si el 2do numero es mayor que 1 se retorna a
+multiplicar (a,b,-1)
-Si el 2do numero no es mayor que 1y su valor
no es 1 ni tampoco es0 entonces-a+multiplicar (a,b+1)
#include<stdio.h>
#include<stdlib.h>
#include<dos.h>
#include<conio.h>
int
multiplicar (int a,int b);
main()
{
int a,b;
printf("ingrese el 1er numero:");
scanf("%d",&a);
printf("ingrese el 2do numero:");
scanf("%d",&b);
printf("%d\n",multiplicar (a,b));
return 0;
}
int
multiplicar (int a,int b)
{
int acu=0;
switch(b){
case 0:
return 0;
case 1:
return a;
default:
if(b>1){
return
a+multiplicar (a,b-1);
}
else
return-a+multiplicar(a,b+1);
}
}
No hay comentarios.:
Publicar un comentario