Diskuze: Program na řešení rovnice x^3 + y^3 + z^3 = k

Člen

Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Řekl bych, že prostě (ve třech zanořených cyklech) projdeš čísla od -100 do 100 a vyzkoušíš, jestli to platí, nebo ne (pokud ano, uložíš/vypíšeš kombinaci).
Jedno řešení, jak již bylo řečeno, je projít všechny možnosti. Druhá je projít jen polovinu možností a to díky symetrii příkladu. Uděláš to tak, že v prvním cyklu projdeš všechna čísla x(-100;100), v druhém všechna y(-100;x) a ve třetím všechna z(-100;y).
Jestli jsem neudělal nějakou hloupost, zredukuješ tím počet možností
dokonce jen na šestinu (hold
jsem ti nevěřil, že to má až takový dopad, a teď mám věřit něčemu
takovému
)
To, že jsi mi nevěřil je v pořádku. A přijímám i to, že jsem se zmýlil. Ta šestina dává smysl, protože se pro každý kořen vyhneme permutacím (i,j,k), kterých je 6, ale pohlížel jsem na to geometricky a dokázal jsem si představit jen hranice množiny, tak jsem je spojil nejkratší cestou.
Díky moc, snad už jsem to konečně pochopila
Vytvořila jsem toto, tak snad to dává smysl.
k = int(input("Zadejte číslo:"))
reseni = False
for x in range(-100,100):
for y in range(-100,100):
for z in range(-100,100):
if x**3+y**3+z**3 == k :
print(x," ",y," ",z)
reseni = True
if reseni == False :
print("Nemá v zadaném intervalu řešení.")
Zobrazeno 6 zpráv z 6.