Faça uma função recursiva que recebe um número inteiro como parâmetro e imprima o correspondente em binário.
Passo 1
Beleza, vamos lá! O enunciado pede para a gente criar uma função recursiva que recebe um número inteiro e imprime o seu equivalente em binário. Então, estamos trabalhando com programação, mais especificamente com recursão e sistemas de numeração. Para resolver isso, vamos precisar entender como funciona a conversão de números decimais para binários e como implementar recursão em uma função.
Passo 2
Primeiro, vamos falar sobre recursão. Recursão é quando uma função chama a si mesma para resolver um problema. É como se a função fizesse uma pequena parte do trabalho e depois pedisse ajuda para si mesma para continuar. Isso é útil para quebrar problemas grandes em partes menores e mais fáceis de resolver.
Passo 3
Agora, sobre a conversão de decimal para binário. Para converter um número decimal para binário, a gente divide o número por 2 e guarda o resto dessa divisão. Esse resto será um dos dígitos binários. Depois, a gente divide o resultado da divisão por 2 novamente e guarda o próximo resto, repetindo esse processo até que o resultado da divisão seja 0. Finalmente, a gente lê os restos de baixo para cima para obter o número binário.
Por exemplo, para converter o número 6:
- 6 ÷ 2 = 3, resto 0
- 3 ÷ 2 = 1, resto 1
- 1 ÷ 2 = 0, resto 1
Lendo os restos de baixo para cima: 110.
Passo 4
Vamos implementar isso em uma função recursiva. Vou usar Python para ilustrar, mas o conceito é válido para outras linguagens também.
- Função recebe um número inteiro
n
. - Se
n
for menor que 2, simplesmente imprimen
(já que 0 e 1 são os próprios valores binários). - Caso contrário, a função chama a si mesma com o valor de
n
dividido por 2 (usando divisão inteira) e depois imprime o resto da divisão den
por 2.
Isso vai garantir que os restos sejam impressos na ordem correta para formar o número binário.
Passo 5
Vamos ver como ficaria o código completo:
Resposta
def imprimir_binario(n):
if n < 2:
print(n, end='')
else:
imprimir_binario(n // 2)
print(n % 2, end='')
# Exemplo de uso:
numero = 6
print(f"O número {numero} em binário é: ", end='')
imprimir_binario(numero)
# Saída: O número 6 em binário é: 110
Exercícios relacionados
Faça uma função que receba uma string como parâmetro e retorne o número de caracteres dessa string (sem utilizar a função strlen(), você irá implementar uma função que faz o mesmo que a função strlen()).
Ler uma matriz
e transformá-la em uma matriz triangular inferior, atribuindo zero a todos os elementos acima da diagonal principal (ou seja, dada uma matriz A, para qualquer
). Imprimir a matriz no final.
1
Ler uma matriz de números inteiros com
posições. Ler mais um número inteiro
. Buscar o número
na matriz
e imprimir todas as posições em que ele foi encontrado. Caso o número
não seja encontrado, imprimir a mensagem
Ler uma matriz
Ler uma matriz
, contar e escrever quantos valores maiores que 10 ela possui.