3- Escreva um algoritmo recursivo para calcular o produto de dois números inteiros e
positivos X e Y, utilizando o conceito de que uma multiplicação pode ser construída
sobre sucessivas operações de adição.
#include "stdio.h"
#include "conio.h"
int soma(int, int,int, int); //prototipando
void main()
{
int n, e, total=0;
clrscr();
printf("digite multiplicando : ");
scanf("%d",&n);
printf("digite multiplicador : ");
scanf("%d",&e);
if ((n>0)&&(e>0)) //verificando entradas
{
total=soma(n,e,1,total); //chamando função(n,e,contador,total)
printf("\nsoma total = %d", total); //imprimindo resultador
}
else
{
printf("\n\nentrada invalida");
}
getch();
}
int soma(int n2, int e2, int cont, int total)
{
if(cont<=e2) //condição de saida
{
total=total+n2;
cont++;
soma(n2,e2,cont,total); //recursividade
}
else
{
return(total); //retornando resultado para main()
}
}
|