SniKaZ Skrevet 3. september 2014 Del Skrevet 3. september 2014 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
x871kx6167ss7 Skrevet 4. september 2014 Del Skrevet 4. september 2014 I første omgang ville jeg delt problemet i to. Lag først en funksjon som sjekker om et konkret tall er delbart med noen av tallene i en liste. Bruk så denne funksjonen for å løse oppgaven din. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå