Diskuze: Zadane cislo vyjadrit jako soucet ctvercu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Tak jakmile máš nalezeno, můžeš ukončit vykonávání celé funkce:
def soucet_ctvercu(n):
for i in range(1, n+1):
if (i**(1/2)) % 1 == 0 and ((n-i)**(1/2)) % 1 == 0:
print(n, "=", i, " + ", n-i)
return
print("Nejde to.")
soucet_ctvercu(13)
print("---")
soucet_ctvercu(14)
Omlouvam se, nenapsal jsem to do zadani uplne presne: je potreba vypsat soucet vsech moznosti, returnem pri prvnim vyskytu to ukoncim a to nechci.
Tak po cyklu zkontroluj, jestli jsi něco našel alespoň jednou:
def soucet_ctvercu(n):
nalezeno = False
for i in range(1, n+1):
if (i**(1/2)) % 1 == 0 and ((n-i)**(1/2)) % 1 == 0:
print(n, "=", i, " + ", n-i)
nalezeno = True
if (nalezeno == False):
print("Nejde to.")
soucet_ctvercu(13)
print("---")
soucet_ctvercu(14)
jen jeste mala uprava, abych nezapocital mezi scitance 0, tak jsem upravil range (1, n)
def soucet_ctvercu(n):
nalezeno = False
for i in range(1, n):
if (i**(1/2)) % 1 == 0 and ((n-i)**(1/2)) % 1 == 0:
print(n, "=", i, " + ", n-i)
nalezeno = True
if (nalezeno == False):
print("Nejde to.")
soucet_ctvercu(13)
print("---")
soucet_ctvercu(14)
Zobrazeno 6 zpráv z 6.