Nu er ML uden for mit videns omraade men givet at det kan beregnes som n!/(k!*(n-k)!) saa skal du vel bare have en funktion som beregner ud fra en fakultet funktion som du saa laver rekursivt.
Synes godt om
Slettet bruger
07. september 2010 - 20:08#2
det kan det nemlig, men er i tvivl om hvordan det gøres :D
Synes godt om
Slettet bruger
08. september 2010 - 12:45#3
er nu kommet frem til:
fun fact n = if n = 0 then 1 else n * fact(n-1);
fun binomk(n, k) = if n>= k >= 0 then fact(n) div (fact(k)*fact(n-k)) else 1;
men den giver en fejl:
fun binomk(n, k) = if n>= k >= 0 ! ^ ! Type clash: expression of type ! int ! cannot have type ! bool
Kan jeg sætte et eller andet ind så 0 bliver int ?
Jeg kender som sagt ikke ML men i de fleste andre sprog ville man skulle skrive:
fun binomk(n, k) = if n >= k && k >= 0 then fact(n) div (fact(k)*fact(n-k)) else 1;
eller
fun binomk(n, k) = if n >= k and k >= 0 then fact(n) div (fact(k)*fact(n-k)) else 1;
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.