Ocena użytkownikóww: ***** / 71
Nadesłany przez Adrian Dymek, 11 kwietnia 2011 01:25
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.s_1_py.py:
#obliczanie silni
#www.algorytm.org
n = int(raw_input("Prosze podac liczbe: "))
def silnia_rek(n):
"""Obliczanie silni rekurencyjnie"""
if n>1:
return n*silnia_rek(n-1) #wywolanie rekurencyjne funkcji
elif n in (0,1):
return 1;
def silnia_iter(n):
"""Obliczanie silni iteracyjnie"""
silnia_tmp=1 #zmienna pomocnicza
if n in (0,1): #gdy n = 0 lub 1 zwroc 1
return 1
else:
for i in range(2,n+1): #gdy n>1 mnoz przez kolejne liczby od 2 do n
silnia_tmp = silnia_tmp*i
return silnia_tmp
print silnia_rek(n)
print silnia_iter(n)
def silnia(n):
return reduce(lambda x,y: x*y, range(1L,n+1))
a i tak też się uda:
def sil(n):
f = lambda x: x * f(x-1) if x != 0 else 1
return f(n)
Pozdrówka
def silnia_a():
silnia = []
z = int(input('liczba: '))+1
for i in range(1,z):
silnia.append(str(i))
silnia1 = '*'.join(silnia)
print(silnia1)
total = eval(silnia1)
print(total)
return total
def silnia2(self):
z = int(input('podaj silnię: '))
s=1
if z==0:
print(s)
else:
for i in range(1,z+1):
s = s*i
print(s,'wynik')
i=0
suma=1
while(n!=i):
i += 1
suma = suma * i
print(suma)
silnia_iter(n)