Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 3.190 pregleda

Najnovija ↓

Jel' moze neko da mi objasni ovaj primer? 25.04.2011. u 10:02 · pre 188 meseci #1
Jel' moze neko da mi objasni ovaj primer? Funkcije donekle razumem ali ovde vec pocinjem da se gubim. Zasto je 4!=24 i 5!=120? Hvala.
Code:
#defines a function that calculates the factorial
def factorial(n):
  if n <= 1:
    return 1
  return n*factorial(n-1)

print "2! = ",factorial(2)
print "3! = ",factorial(3)
print "4! = ",factorial(4)
print "5! = ",factorial(5)

Output:
2! = 2
3! = 6
4! = 24
5! = 120
Re: Jel' moze neko da mi objasni ovaj primer? 25.04.2011. u 11:19 · pre 188 meseci #2
Ne razumeš zašto je 5! = 120 ili ne razumeš kako radi funkcija?

Ako je ovo prvo onda pogledaj ovo: http://sr.wikipedia.org/wiki/%...%D1%80%D0%B8%D1%98%D0%B5%D0%BB .

A ako ne razumeš rekurziju onda probaj samo da ispratiš korake. Konkretno ova funkcija se zasniva na činjenici da je 5! = 1*2*3*4*5, a složićeš se da to možeš napisati i 5! = 4! * 5 jer se svodi na isto. Isto tako je 4! = 1*2*3*4 odnosno 4! = 3! * 4. Prateći ovaj obrazac možeš da izračunaš faktorijel od bilo kog broja. Upravo to ova funkcija radi.

Za svaki broj koji joj proslediš pokušaće da izračuna taj_broj * factorial(taj_broj -1), dok god je taj broj veći od 1. Faktorijel od 1 je 1, tako da ako joj proslediš 1 samo će to vratiti.

Pokušaj da zapišeš svaki korak izvršavanja, često pomogne :)
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme