Duvida algoritmo Python

1. Duvida algoritmo Python

omgnew omgnew
omgnew

(usa Conectiva)

Enviado em 11/12/2016 - 18:09h

Boa tarde galera, sou iniciante em programação e me deparei com a dificuldade para compreender o algoritmo abaixo:
"""
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.
"""
m=int(input("Digite m: "))
n=1
for n in range(1,m+1):
soma,cont,x,aux=0,1,1,n
for cont in range(n):
soma=soma+2*cont

while x<=aux**3:
if aux**3==x*aux+soma:
print("o numero",aux,"elevato ao cubo tem soma: ")
while aux-1>=0:
r=x+2*(aux-1)
print(r)
aux-=1
x+=aux**3
x+=1

Gostaria de pedir humildemente que alguém me explicasse, pois não queria
prosseguir o aprendizado deixando uma dúvida para trás.

Desde já agradeço a atenção e peço desculpas por qualquer incômodo.


  


2. Re: Duvida algoritmo Python

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/12/2016 - 19:03h

1**3= 1, 2**3= 3+5, 3**3= 7+9+11, 4**3= 13+15+17+19,...
Pode começar de S(1) também.

S(0) = (0*2+1) = 1
S(1) = (1*2+1) + (2*2+1) = 3 + 5
S(2) = (3*2+1) + (4*2+1) + (5*2+1) = 7 + 9 + 11
...

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Duvida algoritmo Python

omgnew omgnew
omgnew

(usa Conectiva)

Enviado em 11/12/2016 - 22:07h

listeiro_037 escreveu:

1**3= 1, 2**3= 3+5, 3**3= 7+9+11, 4**3= 13+15+17+19,...
Pode começar de S(1) também.

S(0) = (0*2+1) = 1
S(1) = (1*2+1) + (2*2+1) = 3 + 5
S(2) = (3*2+1) + (4*2+1) + (5*2+1) = 7 + 9 + 11
...

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Eu entendi o que o exercício pede, não compreendi exatamente o código, sei o que os laços de repetições fazem, mas não compreendo porque fazem dessa forma, mas agradeço sua atenção .

se alguém comentasse o algoritmo eu ficarei grato



4. Re: Duvida algoritmo Python

Perfil removido
removido

(usa Nenhuma)

Enviado em 12/12/2016 - 01:34h

A soma dos primeiros N naturais é igual a soma dos n primeiros naturais elevada ao quadrado.

Ex: soma dos primeiros cinco cubos:

1 + 8 + 27 + 64 + 125 = 225

(1 + 2 + 3 + 4 + 5) * (1 + 2 + 3 + 4 + 5) = 15 * 15 = 225

ou (N(N+1)/2)**2 => (5*6/2)**2 = 15**2 = 225

Essa parte do primeiro for do código deveria resolver com o começo de loop variável.
Podendo seguir o início e o fim com os chamados números triangulares.
É assim: cada linha N do triângulo possui N elementos.
Os números triangulares são a soma acumulativa dessas linhas

Veja um padrão

. 1
.. 1+2 = 3
... 1+2+3 = 6
.... 1+2+3+4=10
..... 1+2+3+4+5=15

e segue...

Por coincidência esses números são a soma dos N primeiros números naturais e seus quadrados coincidem com a soma de N primeiros cubos.

Basta acertar o padrão. Estou pensando ao invés de usar 2x+1 usar 2x-1 e começar a contar a partir de 1 ao invés de zero para sincronizar com os números triangulares. Fica mais ou menos

1
2,3
4,5,6
7,8,9,10

O primeiro número é o que encabeça for. O último finaliza. Lembrando que deve cobrir a sequência toda no range().

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts