• 1
  • 2
2025-03-10, 17:57
  #1
Medlem
Algortihm fun(n)
if n > 100 then
return n - 5
return fun(fun(n + 11))

fun(45)

någon som kan gissa vad detta ska bli?
__________________
Senast redigerad av Lupercalia 2025-03-10 kl. 18:50.
Citera
2025-03-10, 17:57
  #2
Medlem
Citat:
Ursprungligen postat av Lupercalia
Algortihm fun(n)
if n > 100 then
return n - 5
return fun(fun(n + 11))



någon som kan gissa vad detta ska bli?
ser att indenteringen försvunnit men tänk dig ett tabslag framför return n - 5
Citera
2025-03-10, 18:02
  #3
Du måste ha en input till funktionen innan du kör den, annars kommer det inte bli nån output, ärthjärna.
Citera
2025-03-10, 18:02
  #4
Medlem
11 tabell vart det hehe sorry fattar ingen vad ni räknar ut men tvungen prova

Efter hundra går det över till plus 6
__________________
Senast redigerad av troligengud 2025-03-10 kl. 18:10.
Citera
2025-03-10, 18:05
  #5
Medlem
Kod:
Skriv det i kodtaggar.
Citera
2025-03-10, 18:13
  #6
Medlem
Citat:
Ursprungligen postat av Lupercalia
Algortihm fun(n)
if n > 100 then
return n - 5
return fun(fun(n + 11))



någon som kan gissa vad detta ska bli?

Kul att du slänger in kod utan någon som helst kontext och förväntar dig en djupgående analys. Men visst, jag ska vara snäll och upplysa dig:

Den här rekursiva funktionen fungerar som en variant av McCarthy 91-funktionen. Om `n` är större än 100 returnerar den `n - 5`. Annars anropar den sig själv med `n + 11` tills värdet blir större än 100, varpå det börjar backa och alltid landar på 91.

Så ja, du har i princip bara klistrat in en välkänd rekursiv funktion med en liten modifiering. Bra jobbat – eller nåt.
Citera
2025-03-10, 18:44
  #7
Medlem
Citat:
Ursprungligen postat av Hoftigahenkrik
Kul att du slänger in kod utan någon som helst kontext och förväntar dig en djupgående analys. Men visst, jag ska vara snäll och upplysa dig:

Den här rekursiva funktionen fungerar som en variant av McCarthy 91-funktionen. Om `n` är större än 100 returnerar den `n - 5`. Annars anropar den sig själv med `n + 11` tills värdet blir större än 100, varpå det börjar backa och alltid landar på 91.

Så ja, du har i princip bara klistrat in en välkänd rekursiv funktion med en liten modifiering. Bra jobbat – eller nåt.
ja okej men jag fick den på ett quiz för en kurs men inget av svaren stämmer överens med 91,

alternativen är

100
oändlig loop
50
74

den kommer köra 7 gånger (111) innan den börjar gå tillbaka i rekursionen, sen hamnar den på 96, då borde den gå upp 107 sen ner till 97 sen 108, 98, 109, 110, sen måste den ju landa på 100...
Citera
2025-03-10, 18:45
  #8
Medlem
Citat:
Ursprungligen postat av p00nino
Du måste ha en input till funktionen innan du kör den, annars kommer det inte bli nån output, ärthjärna.

aa ja ser nu haha ursäkta frågan är vad blir fun(45)
Citera
2025-03-10, 18:46
  #9
Medlem
Citat:
Ursprungligen postat av Hoftigahenkrik
Kul att du slänger in kod utan någon som helst kontext och förväntar dig en djupgående analys. Men visst, jag ska vara snäll och upplysa dig:

Den här rekursiva funktionen fungerar som en variant av McCarthy 91-funktionen. Om `n` är större än 100 returnerar den `n - 5`. Annars anropar den sig själv med `n + 11` tills värdet blir större än 100, varpå det börjar backa och alltid landar på 91.

Så ja, du har i princip bara klistrat in en välkänd rekursiv funktion med en liten modifiering. Bra jobbat – eller nåt.
jag ser nu jag skulle såklart stoppat in frågan vad blir fun(45). tror dock inte det spelar någon roll vilket n man använder
Citera
2025-03-10, 18:46
  #10
Medlem
Citat:
Ursprungligen postat av troligengud
11 tabell vart det hehe sorry fattar ingen vad ni räknar ut men tvungen prova

Efter hundra går det över till plus 6

tror det blir 100 tillslut
Citera
2025-03-10, 18:48
  #11
Medlem
Citat:
Ursprungligen postat av Lupercalia
tror det blir 100 tillslut
Ja okej jag missuppfattat räkningen
Citera
2025-03-10, 23:03
  #12
Medlem
Citat:
Ursprungligen postat av Lupercalia
jag ser nu jag skulle såklart stoppat in frågan vad blir fun(45). tror dock inte det spelar någon roll vilket n man använder

Funktionen anropar sig själv flera gånger tills den når ett värde över 100, då börjar den gå tillbaka genom rekursionen och landar till slut på 100.
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in