Apresente um esquema recursivo para dividir dois números inteiros usando contagens sucessivas. Por exemplo: calcular A/B sendo A=18 e B=4. Sabemos que dividir A por B é o mesmo que descobrir quantas vezes B cabe em A . Assim, para dividir 18 por 4 podemos contar o no. de vezes que 4 cabe dentro de 18 .

Passo 1

Beleza, vamos lá! A questão pede para criar um esquema recursivo para dividir dois números inteiros usando contagens sucessivas. Isso significa que vamos dividir A por B, descobrindo quantas vezes o B cabe em A subtraindo B de A repetidamente. Para resolver isso, vamos usar conceitos de recursão e subtração repetida.

Passo 2

Primeiro, vamos entender o que é recursão. Recursão é quando uma função chama a si mesma para resolver partes menores de um problema maior. No nosso caso, queremos dividir A por B, então vamos subtrair B de A e chamar a função novamente com o novo valor de A até que A seja menor que B.

Passo 3

Agora, vamos definir a condição de parada da nossa recursão. Quando A for menor que B, não dá mais para subtrair B de A, então a divisão terminou. Nesse ponto, a quantidade de subtrações que fizemos é o resultado da divisão.

Passo 4

Vamos criar a função recursiva. Vamos chamar de dividir. Ela receberá dois números inteiros, A e B, e retornará quantas vezes B cabe em A.
def dividir(A, B):
    if A < B:
        return 0
    else:
        return 1 + dividir(A - B, B)

Passo 5

Vamos testar com o exemplo dado: A = 18 e B = 4.
  1. dividir(18, 4) chama dividir(14, 4) → contagem = 1
  2. dividir(14, 4) chama dividir(10, 4) → contagem = 2
  3. dividir(10, 4) chama dividir(6, 4) → contagem = 3
  4. dividir(6, 4) chama dividir(2, 4) → contagem = 4
  5. dividir(2, 4) retorna 0 porque 2 < 4
Somando tudo, temos 4 contagens.

Resposta

Usando o esquema recursivo, 18 dividido por 4 dá 4 porque 4 cabe quatro vezes em 18.

Exercícios relacionados