algorytm.org

Implementacja w Python

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Silnia - Implementacja w Python
Ocena użytkownikóww: *****  / 43
SłabyŚwietny
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)
Komentarze
photo
0 # Waldek 2015-06-25 20:49
Można też i tak

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
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz