Dagens Teori 7.1 Mer kombinatorik 7.1.1 Duvhålsprincipen På engelska Pigeonhole Principle eller Dirichlet s Box Principle. I sin enklaste version Sats 1 Om vi har n + 1 objekt, som ska placeras i n lådor, så kommer åtminstone en låda att innehålla fler än ett objekt. Trots att sin enkelhet har denna princip en mängd överraskande tillämpningar. Exempel 1 Av tre personer är två av samma kön Bland 13 personer är åtminstone två födda samma månad 22 objekt placeras i 3 lådor. Då finns det åtminstone en låda med fler än 7 objekt. qs + 1 objekt placeras i s lådor, så finns det åtminstone en låda med fler än q objekt. Figur 7.1: I en liksidig triangel med sidan 2 cm finns 5 punkter. Avståndet mellan åtminstone två av dessa punkter är 1 cm. När a b (gcd(a,b) = 1) skrivs på decimal form, har utvecklingen en period högst b 1. Håkan Strömberg 1 KTH STH
7.1. MER KOMBINATORIK Några lite svårare exempel Exempel 2 49 platser har arrangerats runt en cirkel. På varje plats ska en av siffrorna [0... 9] placeras. Är det möjligt att göra detta så att varje kombination av två olika siffror står intill varandra? Varje siffra måste finnas med 5 gånger runt cirkeln eftersom de ska paras samman med 9 andra siffror. Då det finns 10 siffror som alla måste förekomma 5 gånger behövs 50 platser. Svaret är alltså nej. Exempel 3 Det finns n personer i ett rum. En del har hälsat på varandra genom att ta varandra i handen. Bland dessa finns två personer som har skakat hand lika många gånger. En person kan ha skakat hand med mellan 0 och n 1 gånger. Det finns alltså lika många alternativ som det finns personer. Men nu är det så att alternativen 0 och n 1 inte kan förekomma, båda två, samtidigt. Det kan inte finnas en person, som är hälsat på alla och samtidigt en, som inte har hälsat på någon. Alltså finns det i verkligheten n 1 alternativ bland n personer. Vilket betyder att det måste finnas minst två med lika många handskakningar. Exempel 4 En schackspelare har 77 dagar på sig i förberedelse för en turnering. Han har tänkt sig spela minst ett parti om dagen, men totalt inte fler än 132 partier. Bevisa att det finns en obruten följd av dagar under vilka han spelar exakt 21 partier. Låt a i anger hur många partier han spelat under de i första dagarna. Vi får då först 77 tal Om vi adderar 21 i varje led får vi 77 tal till 1 a 1 < a 2... < a 77 132 22 a 1 +21 < a 2 +21... < a 77 +21 153 Bland dessa 77 + 77 = 154 måste det finnas två som är lika eftersom de alla är heltal i intervallet 1...153. Ett av dem finns bland de 77 första och det andra bland de 77 sista. Alltså finns det ett i och j så att a i = a j +21 som ger a i a j = 21. Han har alltså spelat 21 partier mellan dag j+1 och i. Exempel 5 Vi har n 3, inte nödvändigtvis olika, heltal a 1,a 2,...,a n. Det finns då alltid en delmängd av dessa tal vars summa är delbar med n. Vi bildar först summorna s 1 = a 1, s 2 = a 1 +a 2, s 3 = a 1 +a 2 +a 3,...,s n = a 1 +a 2 +...+a n Om någon av dessa summor är delbar med n är vi klara. Annars får vi vid divisionen rester s 1 r 1 ( mod n), s 2 r 2 ( mod n),...,s n r n ( mod n) Om två rester, r i och r j är lika så måste n s j s i och därmed har vi funnit en eftersökt delmängd. Men eftersom man bara kan få n 1 rester 0 så finns det alltid två r som är lika och därmed en summa som är delbar med n. Ett exempel: Välj talen {2,5,6}, n = 3. Vi får då s 1 = 2, s 2 = 2+5 = 7, s 3 = 2+5+6 = 13 Håkan Strömberg 2 KTH STH
Ingen av s i har 3 som delare. Vi bildar nu resterna 2 2( mod 3), 7 1( mod 3), 13 1( mod 3) De två sista resterna är lika, alltså är 3 s 3 s 2 = 6 7.1.2 Inklusion Exklusion Medräkna och utesluta. Sats 2 Vi har två mängder A och B med A respektive B objekt. När kan vi säga att A + B = A B? När A B =, när de två mängderna är disjunkta. Allmänt gäller denna formel A + B A B = A B När vi adderar de två talen A och B tar vi ju med A B två gånger. För tre mängder A,B och C får vi A B C = A + B + C A B A C B C + A B C Satsen kan generaliseras till n mängder. Exempel 6 Av 50 personer, äger 23 en Volvo 25 en Saab och 10 har ingen bil alls. Hur många har både en Volvo och en Saab? Det finns 50 10 = 40 bilägare, med en eller flera bilar, som ger V S = 40. Vi antar att det finns x personer som har både Volvo och Saab och får nu genom ekvationen V S = V + S V S 40 = 23+25 x x = 8. 8 personer har både Volvo och Saab. Exempel 7 På DP går 100 studenter. 50 studenter klarade tentamen i Diskret matematik. 40 studenter klarade tentamen i Grundläggande programmering. Endast 20 studenter klarade båda tentorna. Hur många studenter klarade ingen tenta? Lösning: Vi utgår från och får A B = A + B A B A B = 50+40 20 = 70 Svaret får vi genom U A B = 100 70 = 30 Håkan Strömberg 3 KTH STH
7.1. MER KOMBINATORIK Exempel 8 Hur många tal 70 är relativt prima till 70? Lösning: Vi låter U = {1...70}. Vi startar med att faktorisera 70 = 7 5 2. A 1 är mängden av tal t där 2 t. Vi ser att A 1 = 35. A 2 är mängden av tal t där 5 t. Vi får A 2 = 14. På samma sätt ser vi att A 3 = 10 då A 3 är mängden av tal t så att 7 t. Vi kan nu också bestämma att A 1 A 2 = 70/10 = 7, A 2 A 3 = 70/35 = 2 och A 1 A 3 = 70/14 = 5. Till sist ser vi att A 1 A 2 A 3 = 70/70 = 1. Vi kan nu bestämma det önskade antalet A 1 A 2 A 3 = 70 (35+14+10)+(7+2+5) 1 = 24 7.1.3 Stirlingtal av andra slaget Antalet sätt att dela upp n olika objekt i k delmängder. Vi skriver detta tal { } n k Figur 7.2: För att bestämma { 4 2} går vi in på fjärde raden i tabellen nedan och söker upp det andra talet, 7. Man kan alltså dela upp 4 objekt på 2 delmängder på 7 sätt, se figur 7.2, där varje kolumn i de sju grupperna utgör en delmängd. 1 1 1 1 3 1 1 7 6 1 1 15 25 10 1 1 31 90 65 15 1 Om man nu vill bestämma nästa rad i tabellen ovan, finns det då någon metod, motsvarande den för Pascals triangel? Ja, men aningen mer komplicerad { } { } { } n+1 n n = k + k k k 1 Håkan Strömberg 4 KTH STH
Med följande rekursiva program i C kan man bestämma stirlingtal av andra slaget. 1 #include <stdio.h> 2 int stirling(int n,int m){ 3 if(n==0 && m==0) 4 return 1; 5 if(m==0) 6 return 0; 7 if(m==1) 8 return 1; 9 if(n==m) 10 return 1; 11 return m*stirling(n-1,m)+stirling(n-1,m-1); 12 } 13 int main(void){ 14 printf("%d\n",stirling(12,4)); 15 } 7.1.4 Bell tal Vi förstår att { } n = 1 1 Det finns bara ett sätt att dela upp n objekt i en delmängd. På samma sätt finns det bara ett sätt att dela upp n objekt på n olika delmängder. { } n = 1 n Betraktar vi fallet då n = 4 har vi nu redan { } { } 4 4 = 1 = 7 1 2 { } 4 = 1 4 Figur 7.3: Från figur 7.3 kan vi utläsa { 4 3} = 6 Den fjärde raden i stirling-tabellen är 1,7,6,1 När vi adderar dessa tal får vi 15, som är alla möjligheter att dela upp 4 objekt i delmängder. Bell number 4 är 15, vi skriver B 4 = 15. B n är alltså summan av talen på den n:e raden i triangeln med Stirlingtal av andra slaget Här följer de första 6 Bell-talen: B 1 = 1 B 2 = 2 B 3 = 5 B 4 = 15 B 5 = 52 B 6 = 203 Håkan Strömberg 5 KTH STH
7.1. MER KOMBINATORIK 7.1.5 Att placera objekt i fack Här ska vi placera n objekt i k fack Objekten och facken kan var antingen lika eller olika. A Olika objekt i olika fack. n i objekt i det i:e facket. ( n n 1,n 2,...,n k ) B Olika objekt i olika fack. Fack kan vara tomma k n C Olika objekt i olika fack. Inget fack får vara tomt k! { n} D E F G Lika objekt i olika fack. Fack kan vara tomt Lika objekt i olika fack. Fack kan inte vara tomt Olika objekt i lika fack. Fack kan vara tomt Olika objekt i lika fack. Fack kan inte vara tomt k ( n+k 1 n ( n 1 ) k 1 k i=1 { n k} ) { n i} Exempel 9 På hur många sätt kan vi placera 12 objekt i 4 fack om a) Objekten är olika. Facken är olika. Facken kan vara tomma. b) Objekten är olika. Facken är olika. Facken kan inte vara tomma. c) Objekten är lika. Facken är olika. Facken kan vara tomma. d) Objekten är lika. Facken är olika. Facken kan inte vara tomma. e) Objekten är olika. Facken lika. Facken kan vara tomma. f) Objekten är olika. Facken lika. Facken kan inte vara vara tomma. Lösning: a) k n ger 4 12 = 16777216 b) k! { n} { k ger 4! 12 4} = 14676024 c) ( n+k 1) ( n ger 15 12) = 455 d) ( ( n 1 k 1) ger 11 3) = 165 e) k i=1{ n i} ger 4 i=1 f) { n k} ger { 12 4} = 611501 { 12 i} = 700075 7.1.6 Lite om genererande funktioner Exempel 10 På hur många sätt kan man fördela 8 äpplen bland 3 barn, om varje barn ska ha 2 äpplen 4? Lösning: Två exempel på vilka äpplena kan fördelas: (3,3,2) och (2,2,4). För att få svaret utvecklar man (x 2 +x 3 +x 4 ) 3 = x 6 +3x 7 +6x 8 +7x 9 +6x 10 +3x 12 +x 12 Håkan Strömberg 6 KTH STH
Koefficienten 6 framför x 8 ger svaret, nämligen: (4,2,2),(2,4,2),(2,2,4),(3,3,2),(3,2,3),(2,3,3) Ur utvecklingen kan vi till exempel förstå att 6 äpplen kan fördelas på endast ett sätt, (2,2,2). Vilka är de 7 sätten att fördela 9 äpplen. För att utveckla ett uttryck liknande det ovan skriver man i Mathematica Expand[(x^2+x^3+x^4)^3] Det hela handlar ju om att ta reda på samtliga lösningar till x 1 + x 2 + x 3 = 8, då 2 x 1,x 2,x 3 4. Vi kan lösa detta med följande C-program: 1 #include <stdio.h> 2 int main(void){ 3 int x1,x2,x3; 4 for(x1=2;x1<=4;x1++) 5 for(x2=2;x2<=4;x2++) 6 for(x3=2;x3<=4;x3++) 7 if(x1+x2+x3==8) 8 printf("[%d,%d,%d]\n",x1,x2,x3); 9 } Exempel 11 En urna innehåller kulor, i tre färger, röda, blå och svarta. Det finns minst 10 kulor i av varje färg och kulor med samma färg betraktas som identiska. Vi söker antalet möjligheter att välja ut 10 kulor så att vi får ett udda antal röda kulor ett jämnt antal blå kulor åtminstone 5 svarta kulor Lösning: Antag att x 1,x 2,x 3 motsvarar antalet valda röda, blåa respektive svarta kulor. Svaret får vi genom att bestämma antalet lösningar x 1 +x 2 +x 3 = 10, där x 1 är udda x 2 är jämnt och x 3 5. Svaret erhålles som koefficienten till x 10 i funktionen f(x) = (x+x 3 +x 5 +x 7 +x 9 )(x 0 +x 2 +x 4 +x 6 +x 8 +x 10 )(x 5 +x 6 +x 7 +x 8 +x 9 +x 10 ) Expand[(x+x^3+x^5+x^7+x^9) (x^0+x^2+x^4+x^6+x^8+x^10) (x^5+x^6+x^7+x^8+x^9+x^10)] ger x 6 +x 7 +3x 8 +3x 9 +6x 10 +6x 11 +9x 12 +9x 13 + +12x 14 +12x 15 +14x 16 +14x 17 +14x 18 +14x 19 + +12x 20 +12x 21 +9x 22 +9x 23 +6x 24 +6x 25 +3x 26 + +3x 27 +x 28 +x 29 Med hjälp av Mathematica får vi svaret 6. C-programmet nedan ger också svaret Håkan Strömberg 7 KTH STH
7.1. MER KOMBINATORIK 1 #include <stdio.h> 2 int main(void){ 3 int x1,x2,x3; 4 for(x1=1;x1<=9;x1=x1+2) 5 for(x2=0;x2<=10;x2=x2+2) 6 for(x3=5;x3<=10;x3++) 7 if(x1+x2+x3==10) 8 printf("[%d,%d,%d]\n",x1,x2,x3); 9 } Exempel 12 Hattar på krogen. n,n = 1...7 herrar har varit på krogen. På hemvägen, när de passerar garderoben, får de slumpmässigt en av de n hattarna, som de lämnade in när de kom. Hur många sätt finns det att lämna tillbaka hattarna, så att ingen fick sin egen hatt? Lösning: Vi söker antalet dearangements D n av de sju hattarna. Det vill säga antalet permutationer av talen 1,2,3,...,n så att inget av talen hamnar på sin ursprungliga plats. Följande formel ger svaret ( D n = n! 1 1 1 ) 1! +...+( 1)n n! Lite vackrare uttryckt Specifikt för vårt problem D 7 = 7! D n = n! n ( 1) i i=0 ( 1 1 1! + 2 2! 3 3! + 4 4! 5 5! + 6 6! 7 ) 7! i! Tror man på formeln beräknar detta C-program D n 1 #include <stdio.h> 2 int main(void){ 3 int n=7,nf=1,t=1,p=1,dn,i; 4 for(i=2;i<=n;i++) 5 nf=nf*i; 6 dn=nf; 7 for(i=1;i<=n;i++){ 8 p=p*i; 9 t=-t; 10 dn=dn+t*nf/p; 11 } 12 printf("%d",dn); 13 } För att experimentera med permutationerna f[n_] := Block[{m, s = 0, i, p, ok, j}, m = Permutations[Range[n]]; For[i = 1, i <= Length[m], i++, p = m[[i]]; Håkan Strömberg 8 KTH STH
] ok = True; j = 1; While[ok && j <= n, ok = j!= p[[j]]; j++; ]; If[ok, s++; ]; ]; s Table[f[i],{i,7}] Med utskriften 0,1,2,9,44,265,1854 7.1.7 Att räkna pokerhänder Exempel 13 I poker finns följande händer: Royal Straight Flush (Ess, Kung, Dam, Knekt, 10 i samma färg) Straight Flush (Fem kort i följd i samma färg utom Royal Straight Flush) Fyrtal (Fyra kort med samma valör och ett annat kort, vilket som helst) Kåk (Tre kort av samma valör, samt två kort av en annan) Flush (Fem kort i samma färg, men inte Royal Straight Flush eller Straight Flush) Straight (Fem kort i följd, men inte i samma färg) Triss (Tre kort i samma valör och två kort i två andra valörer) Två par (Två kort i samma valör och två kort i en annan valör samt ett kort i en tredje) Ett par (Två kort i samma valör och tre kort från tre andra valörer) Bestäm antalet kort hos var och en av dessa händer. Hur många händer tillhör ingen av dessa nio? Lösning: Royal Straight Flush (Ess, Kung, Dam, Knekt, 10 i samma färg) ( ) 4 1 = 4 1 4 olika färger med en Royal Straight Flush i varje Håkan Strömberg 9 KTH STH
7.1. MER KOMBINATORIK Straight Flush (Fem kort i följd i samma färg utom Royal Straight Flush) ( ) 4 9 = 36 1 4 färger att välja bland. I varje färg finns 9 Straights Fyrtal (Fyra kort med samma valör och ett annat kort, vilket som helst) ( ) ( ) 13 48 = 624 1 1 13 valörer att välja på. 48 möjligheter att välja det 5:e kortet. Kåk (Tre kort av samma valör, samt två kort av en annan) ( )( )( )( ) 13 4 12 4 = 3744 1 3 1 2 13 valörer att välja på 4 möjligheter att välja ut tre kort i denna valör. 12 valörer att välja på 6 möjligheter att välja ut två kort i denna valör. Flush (Fem kort i samma färg, men inte Royal Straight Flush eller Straight Flush) ( )( ) ( ) 4 13 4 10 = 5108 1 5 1 4 färger att välja bland, 1287 sätt att välja ut fem kort från denna färg, minus de 40 händer som är Royal Straight Flush eller Straight Flush. Straight (Fem kort i följd, men inte i samma färg) ( ) 4 10 4 5 10 = 10200 1 10 möjligheter att bilda fem kort i rad. 1024 möjligheter att välja de fem korten, minus de 40 händer som är Royal Straight Flush eller Straight Flush. Triss (Tre kort i samma valör och två kort i två andra valörer) ( )( )( ) 13 4 12 4 2 = 54912 1 3 2 13 valörer att välja på. 4 sätt att välja tre kort från denna valör. 66 möjligheter att välja två olika valörer. 16 möjligheter att välja två kort från dessa. Två par (Två kort i samma valör och två kort i en annan valör samt ett kort i en tredje) ( ) ( ) ( ) 13 4 4 44 = 123552 2 2 2 78 möjligheter att välja ut två olika valörer. 6 möjligheter att välja två kort från den ena valören och 6 möjligheter från den andra. 44 möjligheter att välja det femte kortet. Ett par (Två kort i samma valör och tre kort från tre andra valörer) ( )( )( ) 13 4 12 4 3 = 1098240 1 2 3 13 möjligheter att välja ut en valör. 6 möjligheter att välja två kort från denna valör. 220 möjligheter att välja ut tre olika valörer. 64 möjligheter att välja ut ett kort från var och en av dessa tre valörer. Håkan Strömberg 10 KTH STH
Det finns ( 52 5) = 2598960 olika pokerhänder 2598960 (4+36+624+3744+5108+10200+54912+123552+1098240) = 1302540 1302540 händer tillhör ingen av de i listan. Mathematica I Mathematica kan vi direkt få fram stirlingtal av andra slaget och även belltalen Talet 6174 StirlingS2[4, 2] 7 Sum[StirlingS2[4, i], {i, 1, 4}] 15 BellB[4] 15 BellB[50] 185724268771078270438257767181908917499221852770 Vi startar med talet 4567, vi sorterar siffrorna i fallande och stigande ordning och får de två talen 7654 och 4567. Vi subtraherar det större från det mindre, 7654 4567 = 3087. Vi utför samma procedur med detta tal, 8730 0378 = 8352. En gång till, 8532 2358 = 6174. Nedan följer ett Mathematica-program som visar att för alla fyrsiffriga tal (utom de där de fyra siffrorna är lika) kommer för eller senare att nå 6174. Programmet avslutas med ett diagram som visar frekvenserna. f[n_] := Block[{T1, T2, t1, t2, i = 0, t = n}, If[Length[Union[IntegerDigits[n]]] == 1, Return[0] ]; While[t!= 6174, T1 = Sort[IntegerDigits[t], Greater ]; T2 = Sort[IntegerDigits[t], Less]; t1 = FromDigits[T1]; t2 = FromDigits[T2]; t = t1 - t2; If[t < 1000, t = 10 t; ] i++; ]; i ] Håkan Strömberg 11 KTH STH
7.1. MER KOMBINATORIK g[] := Block[{i}, tab = Table[0, {i, 0, 10}]; For[i = 1000, i <= 9999, i++, tab[[f[i] + 1]]++; ]; BarChart[tab] ] Figur 7.4: Teoriuppgifter Problem 1 Hur många sätt kan man ge två kort från en kortlek, så att det första är ett ess och det andra inte är en dam? Problem 2 På hur många sätt kan man från n par välja ut en man och en kvinna som inte tillhör samma par? Problem 3 Bengt har 10 fickor och 44 enkronor. Han vill fördela dessa kronor så att varje ficka innehåller olika antal kronor. Kan han göra det? Problem 4 När fotbollsligan utökades med ett antal lag ökade antalet matcher som måste spelas med 52. Hur många lag fanns det i ligan före och efter utökningen? När en fotbollsliga genomförs möter varje lag varje annat två gånger. Problem 5 Bestäm A B C då man vet att A = 10, B = 15, C = 13, A B = 5, A C = 6, B C = 4, A B C = 2. Håkan Strömberg 12 KTH STH
Problem 6 Beräkna den 5:e raden i triangeln av Stirlingtal av andra ordningen. Bestäm B 5 Problem 7 Hur många av alla delmängder till M = {1,2,...10} innehåller åtminstone ett udda tal? Problem 8 På dansrestauranten finns 4 herrar och 6 damer. Varje herre bjuder upp varsin dam. På hur många sätt kan detta göras? Problem 9 Hur många 12 bitar långa strängar med 0:or 1:or finns det om två 0:or aldrig får finnas intill varandra och det måste finnas exakt 8 stycken 1:or? Problem 10 I en låda finns 3 blåa, 3 röda och 4 gröna sockor. 8 strumpor dras ur lådan, en i taget. På hur många sätt kan detta göras? (Strumpor av samma färg anses lika). Problem 11 Vi har 20 parvis olika positiva heltal alla < 70. Visa att bland alla differenser mellan två tal som kan bildas så finns det en differens som som förekommer minst 4 gånger. Problem 12 En kommitté ska väljas från 7 kvinnor och 4 män. På hur många sätt kan detta göras om a) kommittén ska bestå av 5 personer, 3 kvinnor och 2 män. b) kommittén ska bestå lika många män som kvinnor c) kommittén ska bestå av 4 personer inklusive Adam. d) kommittén ska bestå av 4 personer, 2 män och 2 kvinnor, men inte både Anna och Adam. Problem 13 I figuren ser vi att det går fyra vägar mellan A och B, tre vägar mellan B och C samt två vägar mellan A och C. Håkan Strömberg 13 KTH STH
7.1. MER KOMBINATORIK a) På hur många olika sätt kan man ta sig från A till C. A och C får bara besökas en gång. I A får man bara befinna sig då resan startar och avslutas. I C får man bara befinna sig en gång. b) På hur många olika sätt kan man ta sig från A till C och tillbaka till A igen. En väg får användas en gång i varje riktning. I A får man bara befinna sig då resan startar och avslutas. I C får man bara befinna sig en gång. c) På hur många olika sätt kan man ta sig från A till C och tillbaka till A igen och besöka B minst en gång. En väg får användas en gång i varje riktning. I A får man bara befinna sig då resan startar och avslutas. I C får man bara befinna sig en gång. d) På hur många olika sätt kan man ta sig från A till C och tillbaka till A igen. En väg får användas endast en gång oavsett riktning. I A får man bara befinna sig då resan startar och avslutas. I C får man bara befinna sig en gång. Problem 14 Hur många olika strängar kan åstadkommas med som mest 3 A och 5 B? Vi tar inte med den tomma strängen. Problem 15 Vi söker positiva heltal n och m, där vi betecknar talens siffersumma med s(n) och s(m) och där s(n) 2 = m samtidigt som s(m) 2 = n Problem 16 Ett primtal p kan endast skrivas som differensen mellan två positiva heltalskuber om primtalet är på formen p = a k(k+b)+b. Bestäm de positiva heltalen a och b, där k är ett positivt heltal. Problem 17 Vi söker de positiva heltal n med siffrorna s 1,s 2,...s k, där k s i + i=1 k s 5 i = n i=1 Problem 18 Här är vi på jakt efter de 14 minsta talen i mängden {a k }, sådana att a k består av k siffror. 2 k a k a k innehåller enbart siffrorna 1 och 2. Håkan Strömberg 14 KTH STH
Problem 19 Enligt Fermats lilla sats är a p 1 delbart med p om p är ett primtal och det positiva heltalet a inte är delbart med p. Vi ska här betrakta ett liknande uttryck a p 2 + a 2 Frågan är: För vika primtal p 3 och positiva heltal a < p är uttrycket delbart med p? Vi begränsar oss till primtal < 100. Försök hitta ett gemensamt mönster hos de möjliga primtalen. Problem 20 Vi söker efter positiva heltal n, sådana att summan av fakulteten för talets siffror är lika med talet själv. Till exempel 1!+4!+5! = 1+24+120 = 145 Problemlösning Problemlösning 1. Slalompjäxor (2) Årets julklapp var slalompjäxor, förpackade i märkliga, vinkelformade paket. Du ser ett Figur 7.5: nere till höger i figur 7.5. Tomtenissarna har fått i uppgift att packa ner sju pjäxpaket i var och en av de tre lådorna, där det redan finns ett eller annat paket som de inte får flytta på. Kan du hjälpa dem? Problemlösning 2. Vad är klockan (2) Adams moraklocka har stannat och han har ingen annan klocka som kan hjälpa honom att ställa den. Därför beger han sig genom skogen till Bertil, vars klocka går korrekt. Han stannar där en stund och beger sig sedan hemåt. Denna promenad tar lika lång tid som den i andra riktningen. När han kommer hem kan han ställa klockan korrekt. Detta trots att han inte vet hur lång tid själva promenaderna tog. Förklara hur! Håkan Strömberg 15 KTH STH
7.1. MER KOMBINATORIK Problemlösning 3. Strumpor och handskar (2) Hur många strumpor måste man i blindo ta ur en låda, som innehåller 11 blå och 20 röda, för att vara säker på att få ett enfärgat par? Vi utvidgar problemet till röda och blå handskar. I lådan finns 11 par blå handskar och 20 par röda. Skillnaden är alltså nu, att det finns vänster- och högerhandskar och att vi vill få ett fungerande par i samma färg. Hur många måste vi plocka. Vi återvänder till lådan med 11 blå och 20 röda strumpor. Hur många strumpor måste vi plocka för att få två matchande par? Hur många strumpor måste vi plocka för att få två olikfärgade par? Problemlösning 4. Tändstickskvadrat (2) Figur 7.6: För att bygga en 2 2 kvadrat, som i figur 7.6, av tändstickor behövs det 12 stickor. Konstruera en formel med vars hjälp man direkt kan räkna ut antalet stickor, det behövs, för att skapa en n n kvadrat av samma typ. Problemlösning 5. Gudsdyrkan (2) Det bor 100 människor på en liten ö. En del av dem talar alltid sanning och andra ljuger alltid. Varje människa tillber en av tre gudar. Antingen månguden, solguden eller jordguden. En missionär ställde följande tre frågor till de 100 invånarna: Tillber du månguden? (60) Tillber du solguden? (40) Tillber du jordguden? (30) Efter frågan finns antalet ja-svar missionären fick in. Hur många utav människorna på ön talar alltid sanning? Håkan Strömberg 16 KTH STH
Problemlösning 6. Svart och vitt (2) Figur 7.7: Varje kvadrat i rutmönstret i figur 7.7 ska innehålla antingen en svart eller en vit bricka. När mönstret fyllts i korrekt, så finns det en enda förbunden grupp av vita brickor och en förbunden grupp av svarta brickor. Brickorna kan endast förbindas horisontellt eller vertikalt (ej diagonalt). Ingenstans får det finnas en 2 2 grupp brickor av samma färg. Problemlösning 7. Överfärden (2) Adam, Bertil, Curt och David ska ta sig över en flod med hjälp av en roddbåt. Båten kan högst ta två passagerare. Herrarna ror olika fort (samma tid i båda riktningarna) och det är alltid den som ror långsammast som sitter vid årorna! Adam Bertil Curt david 6 min 7 min 9 min 10 min Hur lång tid tar det för sällskapet att ta sig över floden? Problemlösning 8. Master Mind (2) Målet är att gissa en kod bestående av fyra bokstäver hämtade ur A,B,C,D,E och F. Samma bokstav kan förekomma flera gånger i koden. Spelaren gissar genom att ange en kod. Spelledaren svarar med att ange hur många av bokstäverna i den gissade koden om är på rätt plats. Man får ett + för varje. Dessutom markeras varje bokstav som finns med men inte är på rätt plats med. I uppgifterna nedan kan man lista ut vilka de rätta koderna är genom tidigare gjorda gissningar. Det finns bara en. 1 3 5 7 F F B B + + E C F B - A B D C + - B E C E - A B A A - A B A B - A B F F - A C A D + F A F D + + - C C D C - - E E D C + C F B A + + + A A A C + 2 4 6 8 F C D A - F F D B - D A D F - A E D B + B E F A - - D A F D B C A B - - - B B B E + + - D F D B + + - - C A D E + B B A D + - B E E D + + B B E F + - - - Håkan Strömberg 17 KTH STH
7.1. MER KOMBINATORIK Problemlösning 9. Bollar i lådor (3) Som trollkarl ber du någon i publiken att välja ett tal 1...24 och därefter väljer du ut Figur 7.8: 1...5 lådor som alla ligger i en obruten rad. Du visar sedan att antalet kulor som finns i de utvalda lådorna är lika med det tal publiken valde. Visa hur du i förväg ska placera kulorna i de 7 lådorna, så att det, vilket tal publiken än väljer, finns en lösning summan kan bildas. Problemlösning 10. Två färjor (2) Två färjor startar i samma ögonblick från motsatta färjelägen på Hudsonfloden. En färja lämnar New York för färd mot Jersey och den andra lämnar Jersy på väg mot New York. Den ena färjan går snabbare, så de möts 720 meter från närmaste strand. När de når målet stannar båda färjorna i 10 minuter för att släppa av och på passagerare. Därefter startar de återresan. Denna gång möts färjorna 400 meter från den andra stranden. Exakt hur bred är floden? Samuel Loyd, alla tiders största konstruktör av tankenötter, påstod i samband med att han publicerade detta problem, att 99 av 100 välutbildade affärsmän skulle misslyckas med att lösa detta problem, om de så fick en vecka på sig att lösa det. Han menade att det är priset man får betala om man lär sig matematik regelmässigt istället för att använda sunt förnuft. Vad han inte berättade var att en av passagerarna råkade missa landgången och hamnade i vattnet. Det visade sig att han var färjblind. Problemlösning 11. Hur gammal är prästen? (3) Prästen sa till klockaren Idag var det tre personer, förutom oss, i kyrkan. Produkten av deras åldrar var 2450 och summan var två gånger din ålder. Kan du säga mig hur gamla de var? Klockaren som var duktig i huvudräkning, tänkte efter och sa: Nej det kan jag inte. Om jag säger att jag var äldst i kyrkan idag, kan du då lösa problemet? Det kunde klockaren. Kan du? Håkan Strömberg 18 KTH STH
Problemlösning 12. Vem äger zebran?(3) Detta är ett klassiskt problem, som kräver en del tankearbete. Det ligger fem hus på rad (i östvästlig riktning). Alla husen har olika färg. Ägarna är av olika nationalitet, äger olika sällskapsdjur, röker olika cigarettmärken och har olika favoritdrinkar. 1 Engelsmannen bor i det röda huset 2 Spanjoren äger en hund 3 Mannen i det gröna huset dricker kaffe 4 Mannen från Ukraina dricker te 5 Det gröna huset ligger direkt öster om det svarta 6 Mannen som röker Old Gold äger sniglar 7 Cigaretten Kool röks i gula huset 8 Mjölk dricks i det mittersta huset 9 Norrmannen bor i huset längst väster ut 10 Mannen som röker Chesterfields bor i huset näst intill mannen som har en räv 11 Kool röks i huset i huset intill det där det finns en häst som husdjur 12 Mannen som röker Lucky Strike dricker också apelsinjuice 13 Japanen röker John Silver 14 Norrmannen bor bredvid de blå huset Vem dricker vatten? Vem har en zebra som husdjur? Lösningar Teoriuppgifter Lösning Teoriuppgift 1 4 47 = 188 Lösning Teoriuppgift 2 Mannen kan väljas på n sätt och kvinnan på n 1. Totalt alltså n(n 1) Lösning Teoriuppgift 3 Eftersom 0+1+2+3+4+5+6+7+8+9 = 45 är uppdelningen omöjlig Håkan Strömberg 19 KTH STH
7.1. MER KOMBINATORIK Lösning Teoriuppgift 4 I årets allsvenska finns 16 lag. Om varje lag ska möta varje annat lag en gång ger det 16 15 2 = 120. Nu möter de varandra två gånger vilket betyder att det ska spelas 240 matcher. Om vi antar att en annan liga hade x lag så spelades x(x 1) matcher i den ligan. När den utökades med a lag spelades istället (x+a)(x +a 1) matcher. Skillnaden mellan dessa två antal ger den diofantiska ekvationen Med hjälp av Mathematica får vi (x+a)(x+a 1) x(x 1) = 52 Reduce[{(x+a)*(x+a-1)-x*(x-1)==52,x>0,a>0}, Integers] Det finns två godtagbara lösningar x = 26, a = 1 och x = 5, a = 4 Lösning Teoriuppgift 5 A B C = 10+15+13 5 6 4+2 = 25 Lösning Teoriuppgift 6 1,15,25,10,1 Lösning Teoriuppgift 7 Det finns total 2 10 = 1024 delmängder. Det finns 2 5 = 32 delmängder med enbart jämna tal. Det finns då 2 10 2 5 = 992 delmängder med minst ett udda tal. Lösning Teoriuppgift 8 Den första herren har 6 damer att välja bland. Den andra 5 och så vidare 6 5 4 3 = 360 Lösning Teoriuppgift 9 Totalt finns det ( ) 12 = 4 ( ) 12 = 495 8 olika strängar med 8 1:or och 4 stycken 0:or, men många av dem är ogiltiga Vi startar med att placera ut de 8 1:orna..1.1.1.1.1.1.1.1. Håkan Strömberg 20 KTH STH
De 9 punkterna markerar platser där man kan placera en 0:a Vi ska placera ut 4 stycken. ( ) 9 = 126 4 Lösning Teoriuppgift 10 Length[Permutations[{1,1,1,2,2,2,3,3,3,3},{8}]] 2660 Lösning Teoriuppgift 11 Beteckna de 20 heltalen a 1...a 20. Vi kan ordna dem 0 < a 1 < a 2 < a 3... < a 19 < a 20 < 70 Vi vill bevisa att att det finns ett k, så att a j a i = k har åtminstone fyra lösningar. Vi skriver 0 < (a 2 a 1 )+(a 3 a 2 )+...+(a 20 a 19 ) = a 20 a 1 68 Skillnaden mellan det största och det minsta talet är 68 Vi ska nu visa att bland a i+1 a i, i = 1...19 finns fyra med samma differens. Vi antar att det högst finns 3 med lika differens. Vi får då 3 1+3 2+3 3+3 4+3 5+3 6+7 68 Tätare en så kan vi inte packa dem, men vänstra ledet ovan är lika med 70. 70 68 är en motsägelse alltså måste någon differens förekomma fler än 3 gånger! Lösning Teoriuppgift 12 a) ( )( ) 7 4 = 210 3 2 b) (1,1),(2,2),(3,3),(4,4) 4 c) ( )( ) 1 10 = 120 1 3 d) ( )( )( )( ) 1 1 3 6 + 0 0 2 2 ( 1 1 )( )( )( ) 1 3 6 + 0 1 2 Med hjälp av Mathematica får vi i sista exemplet: ( 1 0 )( )( )( ) 1 3 6 = 108 1 2 1 Håkan Strömberg 21 KTH STH
7.1. MER KOMBINATORIK h[] := Block[{alla, i, j, n, svar = {}}, alla = KSubsets[Range[11], 4]; For[i = 1, i <= Length[alla], i++, m = alla[[i]]; n = 0; For[j = 1, j <= Length[m], j++, If[m[[j]] >= 1 && m[[j]] <= 4, n++; ] ]; If[! (MemberQ[m, 1] && MemberQ[m, 5]) && n == 2, AppendTo[svar, m] ] ]; Length[svar] ] 3 KSubsets genererar alla ( 11 4) listor som består av 4 av de 11 personerna som är numrerade 1...11. Vi bestämmer att Adam har nummer 1, att 1...4 är män, att Anna har nummer 5 och att 5...11 alla är kvinnor. 5 Vi går nu igenom alla listor som finns i alla. 6-10 Först räknar vi hur många män det finns i listan m. 11-13 Här testar vi att inte både Adam och Anna finns med och att det finns 2 män (medför att det finns 2 kvinnor). Lösning Teoriuppgift 13 a) 4 3+2 = 14 b) (4 3+2) 2 = 196 c) (4 3+2) 2 4 = 192 d) 2(4 3)+2(4 3)+2+(4 3)(3 2) = 122 Håkan Strömberg 22 KTH STH
Lösning Teoriuppgift 14 Lösning: Vi delar in problemet i tre delar efter strängens längd, 1 3, 4 5 och 6 8. I den första delen är får vi 2+4+8 = 14 eller 2 1 +2 2 +2 3. I den andra delen räcker inte A till för att fylla hela strängen. Vi får för n = 4 2 4 ( 5 0) = 15 och för n = 5 2 5 ( ( 5 ( 0) + 5 1) ) = 26 I den tredje delen räcker heller inte B till för att fylla hela strängen. För n = 6 kan vi ( ha följande antal A respektive B: (5B,1A),(4B,2A),(3B,3A) Med dessa kan vi bilda 6 ) ( 1 + 6 ) ( 2 + 6 ) 3 = 41 För n = 7 kan vi ha följande antal A respektive B: (5B,2A),(4B,3A). Med dessa kan vi bilda ( 7 ( 2) + 7 3) = 56. Så till sist för n = 8 använder vi alla tecknen och får ( 8 3) = 56 Totalt har vi då 2+4+8+15+26+41+56+56 = 208 Med hjälp av Mathematica och brutal kraft kan vi gå igen alla permutationerna f[]:=block[{i,l={a,a,a,b,b,b,b,b},n=0}, For[i = 1, i <= 8, i++, n = n + Length[Permutations[l, {i}]]; ]; n ] och få också svaret 208 Betraktar vi Pascals triangel får vi ( 1 0 ( 0 ) 0) ( 1 1) ( 2 ) ( 2 ) ( 2 0 1 2) ( 3 ) ( 3 ) ( 3 ) ( 3 0 1 2 3) ( 4 ) ( 4 ) ( 4 ) ( 4 ) ( 4 0 1 2 3 4) ( 5 ) ( 5 ) ( 5 ) ( 5 ) ( 5 ) ( 5 ( 0 1 2 3 4 5) 6 ) ( 6 ) ( 6 ) ( 6 ) ( 6 ) ( 6 ) ( 6 0 1 2 3 4 5 6) ( 7 ) ( 7 ) ( 7 ) ( 7 ) ( 7 ) ( 7 ) ( 7 0 1 2 3 4 5 6 ( 8 ) ( 8 ) ( 8 ) ( 8 ) ( 8 ) ( 8 ) ( 8 ) ( 8 0 1 2 3 4 5 6 7 ) ( 7 7) ) ( 8 8) För ( a b) anger a strängens längd och b antalet B i strängen. De understrukna binomialkoefficienterna är de vars summa blir 208. Håkan Strömberg 23 KTH STH
7.1. MER KOMBINATORIK Lösning Teoriuppgift 15 Det finns endast ett par (169,256) f[m_] := Module[{}, g[tal_] := Total[IntegerDigits[tal]]; g[m[[1]]]^2 == m[[2]] && g[m[[2]]]^2 == m[[1]] ] Select[Flatten[Table[{i, j}, {i, 1, 1000}, {j, i, 1000}], 1], f] Det finns mer att säga om lösningen, hur man kan begränsa sökandet. Givetvis behöver man endast testa heltalskvadrater. Ytterligare begränsningar kan göras genom att bestämma en övre gräns. Lösning Teoriuppgift 16 f[] := Block[{n, p, a, svar = {}}, For[n = 1, n <= 120, n++, p = Prime[n]; For[a = 1, a < p, a++, If[IntegerQ[(p + a^3)^(1/3)], AppendTo[svar, p]; Break[]; ] ]; ]; svar ] f[] Funktionen ger oss de första 10 primtalen som kan skrivas som differensen mellan två heltalskuber. 7,19,37,61,127,271,331,397,547,631 Vi ska nu bestämma a och b i formeln p = a k(k+b)+b. Genom Reduce[{7==a*k(k+b)+b, a>0, b>0}, {a, b}, Integers] får vi följande lösningar Genom a b 1 3 3 1 1 1 Reduce[{19==a*k(k+b)+b, a>0, b>0}, {a, b}, Integers] Håkan Strömberg 24 KTH STH
får vi följande lösningar a b 1 9 3 4 4 3 9 1 1 5 3 1 Den enda lösningen som finns med i båda ekvationerna är a = 1 och b = 3, som också är svaret. Lösning Teoriuppgift 17 Clear[" *"] f[n_] := Block[{s, p}, s = IntegerDigits[n]; p = Apply[Times, s]; m = Total[Table[s[[i]]^5, {i, 1, Length[s]}]]; m + p == n ] Select[Range[1000000], f] Vi vet inget om den övre gränsen och chansar med 1 000 000. Kan man då inte bestämma den övre gränsen? Det vill säga finns det inte hur stora tal som helst där villkoren gäller? Antag att alla ingående siffrorna är 9. Om vi har k siffror får vi följande uttryck k 9 5 +9 k > 10 k 1 Reduce[k*9^5+9^k>10^k-1, k, Integers] Som har lösningen k = 1...5. n kan alltså inte ha fler än 5 siffror. Håkan Strömberg 25 KTH STH
7.1. MER KOMBINATORIK Lösning Teoriuppgift 18 Clear[" *"] f[n_] := Block[{}, s = IntegerDigits[n]; k = Length[s]; Union[s] == {1, 2} && Mod[n, 2^k] == 0 ] Select[Range[1000000], f] Vi förstår att det måste finnas minst en 1:a och minst en 2:a i de tal vi söker. Talet måste ju sluta på 2 och om det endast består av 2:or Funktionen ovan ger oss dock endast de första fem talen 12, 112, 2112, 22112, 122112 Det här är ju långt ifrån 14 tal och det känns inte möjligt att hitta resterande genom att öka på antalet tal som ska testas. Vi får en ny idé lista = Flatten[{Table[1,{i,1,14}], Table[2,{i,1,14}]}]; p = Permutations[lista,16]; Length[p] t = Map[FromDigits, p]; t = Drop[t,1]; g[n_] := Mod[n,2^(Floor[Log[10,n]+1])]==0 Select[t, g] Vi börjar med att generera en lista med 14 stycken 1:or och 2:or. Genom Permutations plockar vi fram alla permutationer, som listor, med upp till 16 siffror. Det visar sig finnas 131035 permutationen. Den kortaste är tom. Sedan översätter vi dessa listor till heltal med hjälp av FromDigits och tar bort det första talet som är 0. Nu testar vi om dessa heltal möter ställda krav genom funktionen g och får följande lista 2, 12, 112, 2112, 22112, 122112, 2122112, 12122112, 212122112, 1212122112, 11212122112, 111212122112, 1111212122112, 11111212122112, 211111212122112, 1211111212122112 Vad betyder då Floor[Log[10, 12345] + 1]? En funktion som tar reda på hur många siffror heltalet innehåller. Möjligtvis återstår det att hitta något mönster och bevisa det. Håkan Strömberg 26 KTH STH
Lösning Teoriuppgift 19 Vi tar fram för vilka primtal < 100 som villkoret gäller Clear[" *"] f[] := Block[{svar = {}}, For[i = 2, i <= 30, i++, p = Prime[i]; For[a = 2, a < p, a = a + 2, If[Mod[a^(p - 2) + a/2, p] == 0, AppendTo[svar, {p, a}] ] ]; ]; svar ] f[] och får, först primtalet p och sedan basen a: (3,2),(11,8),(17,10),(19,6),(41,30),(43,16), (59,36),(67,20),(73,12),(83,74),(89,40),(97,80) Här en lista över alla primtal < 100, med våra primtal markerade. 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97 Längre än så kom jag inte. Med hjälp av sajten Integer Sequences hittade jag tre möjligheter: Primtal kongruenta till p 1( mod 8),p 2( mod 8) eller p 3( mod 8) Primtal på formen x 2 +2y 2 för a,b N Primtal p sådana att x 2 = 2 har en lösning för mod p. Solve[x^2==-2, Modulus->11] har lösningarna x = 3 och x = 11 Inget varken lättfunnet eller speciellt lustigt samband. Håkan Strömberg 27 KTH STH
7.1. MER KOMBINATORIK Lösning Teoriuppgift 20 Clear[" *"] f[n_] := Block[{sum = 0, i}, s = IntegerDigits[n]; For[i = 1, i <= Length[s], i++, sum = sum + s[[i]]!; ]; sum == n ] Select[Range[50000], f] Datorn hittar följande tal 1,2,145,40585 Laboration Laborationsuppgift 1. Olympiaringarna (2) I de fem olympiaringarna har placerats siffrorna 1...9, så att summan av talen inom varje Figur 7.9: ring blivit 11. Finns det någon annan möjlighet att placera samma siffror (en i varje område), så att man får en annan gemensam summa? Laborationsuppgift 2. Goda primtal (2) Ett gott primtal p n (med ordningsnumret n > 1) är ett primtal sådant att p 2 n > p n 1 p n+1. Till exempel är det 10:e primtalet p 10 = 29 och p 9 = 23 respektive p 11 = 31. Eftersom 29 2 > 23 31 är 29 ett gott primtal. Hur många goda primtal, < 5000 finns det? Laborationsuppgift 3. Vänskapliga tal (2) Två tal, a i och a j kallas vänskapliga om σ(m) = σ(n) = m +n, där σ(n) är summan av alla delare x n. 1000-tals sådana par, (m, n), är kända, bland annat förstås de minsta, som redan omnämns i bibeln. Vilka är de? Håkan Strömberg 28 KTH STH
Laborationsuppgift 4. Primtal av typen p 1( mod 4) För ett primtal p > 2 måste antigen p 1( mod 4) eller p 3( mod 4) gälla. Till exempel 7 3( mod 4) och 17 1( mod 4). Vilken är den längsta följd av primtal, bland de 5000 första, sådan att samtliga primtal i följden är av typen p 1( mod 4). Ge en lista av denna följd som svar. Laborationsuppgift 5. Burrleken (2) En känd matematiklek i lågstadiet går ut på att undvika säga tal n i vilken siffran x ingår eller där x n. I stället nämner man ordet burr. Om x = 3, låter talen så här: 1, 2, burr, burr, 4, 5, burr, 7, 8, burr, 10, 11, burr, burr, 14. Skriv en funktion som tar emot uppgift om den valda siffran x = 1...9 och som skriver ut talen från 1 till 100. Laborationsuppgift 6. Jämna binomialkoefficienter (2) Hur kan man uttrycka de naturliga tal n, för vilka ( ) ( ) ( ) ( ) n n n n,,,..., 1 2 3 n 1 alla är jämna tal? Du behöver inte bevisa ditt påstående! Laborationsuppgift 7. Boolskt uttryck (2) A, B, C och D är boolska variabler. För vilka uppstättningar av dessa är följande uttryck sant: ((A B) (C D)) D) Laborationsuppgift 8. Siffersumma av heltalskvadrater (2) Vilken siffersumma är vanligast bland femsiffriga heltalskvadrater och hur många heltalskvadrater har denna siffersumma? Laborationsuppgift 9. Stirlingtal (2) Generera en lista med { n 2} för n = 2...10 och gör ett uttalande om dessa tal. Laborationsuppgift 10. Vilka B n är primtal? (2) Skriv en, säger en, rad i Mathematica som skapar en lista av de belltal B n, n = 1...50 som är primtal Håkan Strömberg 29 KTH STH
7.1. MER KOMBINATORIK Laborationsuppgift 11. När är jag född? (2) 1492 var det år då Columbus upptäckte Amerika. 1770 var det år då Ludwig van Beetoven föddes. 1863 var det år då KTH s kända tidning Blandaren, kom ut för först gången. a är det år då KTH Haninge, blir världens ledande tekniska högskola (kommer att ske före 2200) b är mitt födelseår. Med hjälp av dessa årtal kan följande samband ställas upp: (1492 n 1770 n 1863 n +a n ) mod b = 0 Ta reda på de två årtalen a och b, då man vet att uttrycket ovan är sant för alla positiva heltal n. Laborationsuppgift 12. C-funktion (2) Här är en algoritm som bestämmer { m n}. Implementera den som en funktion i C. Algorithm 7.1.1: STIRLINGNUMBERS2(m, n) S(0,0) 1 for i 1 to m do S(i,0) 0 for i 0 to m do S(i,i+1) 0 for i { 1 to m for j 1 to min(i,n) do do S(i,j) js(i 1,j)+S(i 1,j 1) return (S) Håkan Strömberg 30 KTH STH
Laborationsuppgift 13. Poängdomare (3) Vid en uppvisningstävling kan de tävlande, från de n domarna få någon av poängen 0,1,2,3,4 eller 5. Skriv en funktion f(m, n) som tar emot total uppnådd poäng m och antalet domare n och som returnerar en lista med de olika sätt på vilken poängen kan ha uppnåtts. Ett exempel: f(30,7) ger som resultat (2,5,0,0,0,0) (3,3,1,0,0,0) (4,1,2,0,0,0) (4,2,0,1,0,0) (5,0,1,1,0,0) (5,1,0,0,1,0) (6,0,0,0,0,1) Från vänster till höger inom varje parentes anges antalet 5:or, 4:or, 3:or och så vidare. Håkan Strömberg 31 KTH STH