
Solução em Python do Problema 9
#-----------------------------------------------------------------
# Solução 1: curta e grossa
#
#-----------------------------------------------------------------
def main():
'''
Programa que lê três números inteiros positivos n, i e j
e imprime os n primeiros números inteiros maiores o iguais
a zero que são multiplos de i ou de j.
'''
print("Cálculo dos n primeros multiplos de i ou j\n")
# leitura dos dados
n = int(input("Digite n: "))
i = int(input("Digite i: "))
j = int(input("Digite j: "))
# mult é o candidato a multiplo de i ou j
mult = 0
# k é o contador de múltiplos impressos
k = 0
while k < n:
if mult%i == 0 or mult%j == 0:
# mult é multiplo de i ou j
print(mult)
k = k + 1;
# vamos para o próximo candidato
mult = mult + 1;
# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
main()
#-----------------------------------------------------------------
# Solução 2: Mais elaborada. Faz menos interações que a solução 1.
# A cada iteração imprime um multiplo de i ou j.
# Usa o comando for ... in range(...)
# Usa o comando if ... elif ... else ...
#
#-----------------------------------------------------------------
def main():
'''
Programa que lê três números inteiros positivos n, i e j
e imprime os n primeiros números inteiros maiores o iguais
a zero que são múltiplos de i ou de j.
'''
print("Cálculo dos n primeros múltiplos de i ou de j\n")
# leitura dos dados
n = int(input("Digite n: "))
i = int(input("Digite i: "))
j = int(input("Digite j: "))
# mult_i armazena um múltiplo de i
# mult_j armazena um
mult_i = mult_j = 0
# imprima k múltiplos de i ou de j
for k in range(n):
# selecione o menor múltiplo, imprima e passe para o próximo
if mult_i == mult_j:
print(mult_i)
mult_i = mult_i + i # próximo múltiplo de i
mult_j = mult_j + j # próximo múltiplo de j
elif mult_i < mult_j:
print(mult_i)
mult_i = mult_i + i # próximo múltiplo de i
else:
print(mult_j)
mult_j = mult_j + j; # próximo múltiplo de j
# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
main()
História
da Computação | Listas de
Exercícios | Problemas Resolvidos | macmulti@ime.usp.br