3
respostas

O codigo funcionou porem não entendi exatemente como é feito o cauculo pra chegar no resultado.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Oi, Wellington! Como você está?

A função potencia() recebe três argumentos: dois inteiros aa e bn, e um inteiro rresultado que inicialmente é definido como 1 no main(). O cálculo da potência aa^bb é realizado multiplicando aa por ele mesmo bb vezes.

Abaixo, explorei as etapas executadas pela função, acompanhe comigo:

  1. A função inicia um loop for que vai de i = 0 até i < bb. Isso significa que o loop será executado b vezes;

  2. Dentro do loop, a cada iteração, o rresultado é multiplicado por aa. Isso é feito pela linha rresultado = rresultado * aa;

  3. Após bb iterações, o loop termina e o rresultado contém o valor de aa^bb;

  4. Por fim, o printf imprime o valor calculado!

Vale enfatizar que, ao considerar o valor inicial de rresultado como 1, não há alterações no valor final do cálculo, uma vez que quaisquer valores multiplicados por 1 resultam neles mesmos.

Matematicamente falando, é mais ou menos esse processo mental que fazemos ao calcular a potência de um número, que nada mais é do que o resultado da multiplicação dele por si mesmo uma certa quantidade de vezes.

Espero que tenha ficado mais claro, Wellington! Estarei por aqui caso surjam novas dúvidas.

Um abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Ola andrieli,

Obrigado pela ajuda acho que consegui descomplicar, tentando resumi aqui e ve se é isso mesmo.

4 Loops 0 até 3 ou seja (i = 0; i <4; i++) A cada passagem pelo loop o resultado fica guardado na variavel Resultado substituindo o valor anterior correto?

Resultado (vale1) = resultado(vale1) * a(vale2) = 2x1=2 - Loop 0

Resultado (vale2) = resultada(vale2) * a(vale2) = 2x2 = 4 - Loop 1

Resultado (vale 4) = Resultado(vale4) * a(vale2) 4x2 = 8 - Loop 2

Resultado (vale 8) = Resultado (vale8) * a(vale2) 8x2= 16 - Loop 3

Resultado = 16

Oi, Wellington!!

É isso mesmo, para cada laço de repetição, armazenamos o valor obtido na multiplicação envolvendo o resultado anterior e o valor de aa. Fico feliz que tenha conseguido compreender a lógica por detrás do código!

Lembre-se que você sempre pode contar com o fórum em caso de dúvidas.

Até mais!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software