Oppgave 1 - Fakultet
Skriv en funksjon, «fakultet» fakultet
, som tar inn et tall og finner fakultet av tallet ved bruk av rekursjon.
Code Block | ||||
---|---|---|---|---|
| ||||
#print(fakultet(6)) 720 #print(fakultet(3)) 6 |
Oppgave 2 - Fibonacci
Fibonacci tallene er definert rekursivt på følgende måte:
F1 = 1
F2 = 1
F1 = F(n-1)+F(n-2)
Starter på Fibonacci-rekken er 0 1 1 2 3 5 8 11 19...
Skriv en funksjon, fib
, som tar inn n og finner det n’te Fibonacci-tallet. Tegn også opp alle funksjons-evalueringene som gjøres når fib(5) kjøres.
Code Block | ||||
---|---|---|---|---|
| ||||
#print(fib(5)) 5 #print(fib(6)) 8 |
Oppgave 3 - Pascals trekant
Skriv en funksjon som finner den n’te raden av pascals trekant. De første seks radene i pascals trekant vises i bildet under.
Code Block | ||||
---|---|---|---|---|
| ||||
#print(pascal(6)) [1, 5, 10, 10, 5, 1] |
Oppgave 4 - Palindrom
Et palindrom er et uttrykk som gir samme resultat enten det leses fra høyre eller venstre. Skriv en rekursiv funksjon, «palindromTest» som palindromTest
som tar inn en streng og returnerer True dersom det er et palindrom og False ellers.
Code Block | ||||
---|---|---|---|---|
| ||||
#print(palindromTest('a')) True #print(palindromTest('agnes i senga')) True #print(palindromTest('Maoam')) False #Merk at m!=M #print(palindromTest('halla')) False |
Oppgave 5 - Minste element
Skriv en funksjon, «minElement» minElement
, som tar inn en liste og finner det minste elementet ved bruk av rekursjon.
Oppgave 6 - Største element
Skriv en funksjon, «maxElement» maxElement
, som tar inn en liste og finner det største elementet ved bruk av rekursjon.
Oppgave 7 - Exponent
Skriv en funksjon, «exponent» exponent
, som tar inn et tall og eksponenten det skal opphøyes i. Funksjonen skal bruke rekursjon til å opphøye tallet i eksponenten. Tenk at og at osv.
Code Block | ||||
---|---|---|---|---|
| ||||
#print(exponent(5,4))
625 |