Em Python: Nós vamos definir o superdígito de um inteiro x conforme as seguintes regras:
Se x possui apenas 1 dígito, então o superdígito é x.
Caso contrário, o super dígito de x é igual ao superdígito da soma dos dígitos de x.
Por exemplo, o superdígito de 9875 é calculado como:
superdígito (9875)
= superdígito (9+8+7+5)
= superdígito (29)
= superdígito (2+9)
= superdígito (11)
= superdígito (1 + 1)
= superdígito (2)
= 2
Sua missão é calcular o superdígito de um número x.
Você receberá dois números: n e k.
x é construído fazendo k concatenações de n.
Por exemplo,
se n = 123 e k = 4
então:
x = 123123123123
Formato de entrada
A entrada consiste de dois inteiros n e k separados por espaço.
Considere:
1 <= n <= 10^100000
1 <= k <= 10^5
Formato de saída
Uma única linha contendo o superdígito de x.
Soluções para a tarefa
Segue abaixo código completo:
def super_digito(x):
digitos = list(map(int, list(str(x))))
superdigito = sum(digitos)
if superdigito > 10:
return super_digito(superdigito)
else:
return superdigito
def main():
n, k = map(int, input('Entre com os inteiros n e k: ').split())
x = int(str(n) * k)
print(super_digito(x))
if __name__ == '__main__':
main()
Espero ter ajudado!
O seguinte programa cria a função concatenar_numeros(n, k), que concatena o número n digitado k vezes. Na sequência, a função superdigito(n) verifica se o tamanho do número é maior que 1 dígito. Enquanto a condição for verdadeira, os dígitos do número são somados, e o valor é armazenado na variável number. Quando a variável possuir um algarismo, a iteração é interrompida e o superdígito é retornado.
O que é um programa?
Um programa é uma sequência de instruções que realizam uma determinada tarefa.
O seguinte programa cria a função concatenar_numeros(n, k), que concatena o número n digitado k vezes. Na sequência, a função superdigito(n) verifica se o tamanho do número é maior que 1 dígito. Enquanto a condição for verdadeira, os dígitos do número são somados, e o valor é armazenado na variável number. Quando a variável possuir um algarismo, a iteração é interrompida e o superdígito é retornado.
from itertools import accumulate
def concatenar_numeros(n: int, k: int) -> int:
n_as_str = str(n)
concatenacao = []
for _ in range(k):
concatenacao.append(n_as_str)
return int("".join(concatenacao))
def superdigito(n: int) -> int:
number = n
while(len(str(number)) > 1):
number_as_str = str(number)
sum_of_digits = list(accumulate([int(_) for _ in number_as_str]))
number = sum_of_digits[-1]
print(number)
return number
if __name__ == "__main__":
n = int(input("Valor de n: "))
k = int(input("Valor de k: "))
x = concatenar_numeros(n, k)
sd = superdigito(x)
print(f"Superdígito de {x}: {sd}")
Para aprender mais sobre programas, acesse:
brainly.com.br/tarefa/19885120
#SPJ2