Python
2 participantes
Página 1 de 1
Python
Sabe-se que um número da forma n^3 é igual a soma de n ímpares consecutivos.
Exemplo: 1^3= 1, 2^3= 3+5, 3^3= 7+9+11, 4^3= 13+15+17+19,...
Dado m, determine os ímpares consecutivos cuja soma é igual a n^3 para n
assumindo valores de 1 a m.
Resolução:
m = int(input("Digite m: "))
aux = 1
for n in range(1, m+1):
print("O número", n, "elevado ao cubo tem como soma: ")
if n == 1:
print(aux)
else:
for aux in range(aux+2, aux+2*(n+1), 2):
print(aux)
Dúvida:
Eu não entendi o aux+2*(n+1) do else, alguém poderia me ajudar?
Exemplo: 1^3= 1, 2^3= 3+5, 3^3= 7+9+11, 4^3= 13+15+17+19,...
Dado m, determine os ímpares consecutivos cuja soma é igual a n^3 para n
assumindo valores de 1 a m.
Resolução:
m = int(input("Digite m: "))
aux = 1
for n in range(1, m+1):
print("O número", n, "elevado ao cubo tem como soma: ")
if n == 1:
print(aux)
else:
for aux in range(aux+2, aux+2*(n+1), 2):
print(aux)
Dúvida:
Eu não entendi o aux+2*(n+1) do else, alguém poderia me ajudar?
Fibonacci13- Mestre Jedi
- Mensagens : 854
Data de inscrição : 14/09/2019
Idade : 22
Localização : São Paulo
Re: Python
O range(aux+2, aux+2*(n+1), 2) corresponde aos n ímpares consecutivos. Por exemplo, se aux = 1 e n = 5, obtemos:
Elaborando mais no nosso caso, o range começa no valor 3 e vai até o valor 1+2*(6) = 13 de 2 em 2. Observe que o range para quando chega em 13, então esse valor não entra no loop.
No código, o aux tem como valor inicial o próximo ímpar da contagem passada. Agora por que funciona são outros 500 .
Eu fiz assim:
- Código:
>>> aux = 1
>>> n = 5
>>> list(range(aux+2, aux+2*(n+1), 2))
[3, 5, 7, 9, 11]
Elaborando mais no nosso caso, o range começa no valor 3 e vai até o valor 1+2*(6) = 13 de 2 em 2. Observe que o range para quando chega em 13, então esse valor não entra no loop.
No código, o aux tem como valor inicial o próximo ímpar da contagem passada. Agora por que funciona são outros 500 .
Eu fiz assim:
- Código:
m = int(input("Digite m: "))
for n in range(1, m+1):
print("O valor ", n," ao cubo e dado pela soma dos valores:")
primImpar = n**2-n+1
for impar in range(primImpar, primImpar +2*n, 2):
print(impar)
____________________________________________
Licenciatura em Matemática (2022 - ????)
Re: Python
Olá, Tales.
Obrigado pela ajuda.
Obrigado pela ajuda.
Fibonacci13- Mestre Jedi
- Mensagens : 854
Data de inscrição : 14/09/2019
Idade : 22
Localização : São Paulo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|