Gå til innhold

Haskell - Ta vare på liste?


Anbefalte innlegg

Hei. Jeg har et problem med en oppgave vi har fått på skolen. Vi har akkurat begynt med haskell så jeg sliter litt med å lage enkle løsninger på ting.

 

Oppgaven er som følger:

Lag funksjonen add :: Int -> [int] -> Int, som tar som input et thelall n og liste k med heltall, og returnerer summen av alle tall i: 1 <= i <= n, som er delelig med minst et av tallene fra listen k.

add n (x:xs) = if n `mod` x == 0 then n + addl(n-1) (x:xs) else addl (n) (x:xs)

Dette er koden jeg har men som dere ser så vil den alltid ta først elementet i listen. Jeg har også prøvd følgende kode:

add n (x:xs) = if n `mod` x == 0 then n + addl(n-1) (x:xs) else addl (n) (xs)

Siden den da vil gå til neste element i listen om det ikke går, men her har jeg problemet at når det da går så vil listen bli mindre. Altså at den ikke tar vare på den opprinelige listen.

 

Dere trenger ikke å vite løsningen, for alle tips mottas med takk.

 

Mvh Simen!

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...