sexta-feira, 10 de janeiro de 2014

[Programação em C] - Russian peasant algorithm

Olá pessoal, nesse post vamos conhecer uma forma curiosa de multiplicar dois números sem utilizar o operador de multiplicação "*" para multiplicar os números diretamente.

Trata-se do Russian Peasant Algorithm, com ele iremos conseguir fazer tal façanha.

O algoritmo é de fácil entendimento, para implementar é só seguir as instruções:

Dado dois números "x" e "y"
1 - Inicialize o resultado com 0
2 - Enquanto "y" for maior do que 0
        2.1 - Se "y" é ímpar, adiciona "x" para o resultado
2.2 - Dobre "x" e diminua pela metade "y"
3 - Retorne o resultado

Os parâmetros da função que retorna o resultado da multiplicação são positivos.

Veja o código utilizando a linguagem C:



Nenhum comentário: