TENTAMEN HF00, 6H0, 6H7 Diskret Matematik Skrivtid :5-8:5 Torsdagen 7 juni 0 Tentamen består av 5 sidor Hjälpmedel Den kurslitteratur som använts under kursen, samt egna anteckningar, programlistningar och böcker. Dock inga egna disketter eller CD-ROM. Tentamen består av uppgifter. På servern finns finns Kursbunten (pdf), Lathund i Mathematica (pdf) samt en fil du kan komma att behöva för att lösa en av uppgifterna. För varje uppgift med korrekt svar får du poäng. 5 poäng av maximalt räcker säkert till godkänt. Resultatet poäng berättigar till komplettering. Du redovisar först och främst svaret normalt följt av tankegången, eventuellt tillsammans centrala delar av Mathematica-koden Betygsskala A B C D E - 0 9 8-7 6-5 Håkan Strömberg KTH STH
Uppgift Följande problem handlar om Diofantos, som var en grekisk matematiker verksam i Alexandria omkring 50 efter Kristus: Diofantos tillbragte en sjättedel av sitt liv i barndom, en tolftedel i ungdom och ytterligare en sjundedel som ungkarl. Fem år efter hans giftermål föddes en son, som dog fyra år före sin far, hälften så gammal som fadern slutligen blev. Hur gammal blev Diofantos? Svar. Antag att sonens ålder blev x år. Då blev Diofantos ålder x år. Barndomen är x 6 år, ungdomen x år och åren som ungkarl är x 7. Därefter gifte han sig, levde i 5 år, fick sonen som blev x år, och levde därefter ytterligare år. Vi får ekvationen x 6 + x + x +5+x+ = x 7 som ger sonens ålder till x = år och Diofantos ålder till 8 år Håkan Strömberg KTH STH
Uppgift Hur många tal < 000 000 är relativt prima med 000 000? Svar. Talet 000000 innehåller endast faktorerna och 5. Därför fungerar detta: antal = 0; For[i =, i <= 000000, i++, f = FactorInteger[i; For[j =, j <= Length[f, j++, ok = ; If[f[[j, == f[[j, == 5, ok = 0; Break[; ; ; If[ok ==, antal = antal + ; antal som ger svaret 00000, men enklast är förstås att skriva EulerPhi[000000 00000 Håkan Strömberg KTH STH
Uppgift Givet några temperaturer i Celsius och Fahrenheit Celsius 0 5 0 5 0 5 0 Farenheit 50 59 68 77 86 Uttryck meningen Temperaturen 0 C ökade med 0 C till 60 C med hjälp av Fahrenheit-skalan Svar. Temperaturen 0 F ökade med 6 F till 0 F k=(-)/(5-0) Solve[50==k*0+m,m ger k = 9 5 och m =. F(c) = 9 5 c+. f[0 (f[-f[)*0 f[60 0 6 0 Håkan Strömberg KTH STH
Uppgift 0 0 Figur : Kartan i figur visar en campingplats med ett antal träd inritade. Inför midsommarhelgen väntar man invasion av ett antal tältare. Hjälp föreståndaren att placera ut tälten med hjälp av följande regler: Ett tält måste vara förankrat i ett träd. Tältet placeras i en ruta med en sida gemensam med en ruta som innehåller ett träd. Talen över och till höger om kartan anger hur många tält det ska finnas i den kolumnen respektive den raden Två tält får inte placeras i två rutor intill varandra, inte ens diagonalt. Vi förtydligar genom att i nedre delen av figuren visa ett problem med lösning. Svara med en tabell med 0 rutor där du markerar tälten. Svar. 0 0 Figur : Håkan Strömberg 5 KTH STH
Uppgift 5 Adam kastar 5 tärningar och vinner om han lyckas få precis en sexa, men förlorar om han inte får någon. Vid,, och 5 sexor får han fortsätta att kasta tills han antingen vinner eller förlorar. Hur stor chans har Adam att vinna? Svar 5. f[n_:=binomial[5,n*(/6)^n (5/6)^(5-n) Table[f[n, {n, 0, 5} ger resultatet 5 7776, 5 7776, 65 888, 5 888, 5 7776, 7776 Vilket betyder att sannolikheten att han kastar en sexa är 5 7776 0.0. Sannolikheten att han inte kastar någon sexa alls är lika stor, vilket betyder att sannolikheten att Adam vinner är p =. Sannolikhet att han ska få fortsätta att kasta är 65 888 + 5 888 + 5 7776 + 7776 = 76 888 0.96 Håkan Strömberg 6 KTH STH
Uppgift 6 Hur många olika trianglar finns det där längden hos samtliga sidor, k,m,n är heltal och relationen k m n gäller för ett givet n. För till exempel n = finns det 6 trianglar:,,,,, Bestäm antalet trianglar då n = 0 respektive n = 0. Svar 6. The hard way": f[n_ := Block[{j, k, antal = 0}, For[j =, j <= n, j++, For[k = j, k <= n, k++, If[j + k > n, antal = antal + ; ; antal Lite smartare: g[n_ := Block[{}, If[OddQ[n, Return[((n + )/)^, Return[((n + )/)^ - /, g(0) = f(0) = 006 och g(0) = f(0) = 00 Håkan Strömberg 7 KTH STH
Figur : Uppgift 7 Figur visar kartan över en djurpark. De gula cirklarna visar var man kan se djur och de svarta strecken markerar vägar. Man är nu intresserad av att ordna en guidad tur genom samtliga 0 platser i parken, där man kan starta var som helst och återvända till denna plats utan att behöva besöka samma plats fler än en gång. Man kan inte åstadkomma detta utan att lägga till en väg. Vägen ska vara rak och får inte korsa någon annan väg. Vilka är de två möjligheterna? Grafen finns på filen zoo.txt Svar 7. g = Graph[{{{, 6}}, {{, 7}}, {{, 8}}, {{8, 0}}, {{, 7}}, {{, 6}}, {{5,9}}, {{5, 0}}, {{, 0}}, {{, }}, {{, 9}}, {{, 0}}, {{,6}}, {{, 9}}, {{, 0}}, {{9, 0}}, {{6, 9}}}, {{{0.85675,.78}}, {{0.9675, -0.99698}}, {{-.5, -.555}}, {{-0.98958,.0667}}, {{-0.587, -.08509}}, {{.0067, -0.8977}}, {{-0.5,.6950}}, {{-0.6565, -0.8977}}, {{0.05, -.8005865}},{{0.0085, 0.075959}}} lista = {}; For[i =, i <= 0, i++, For[j = i +, j <= 0, j++, b = g[[; b = AppendTo[b, {{i, j}}; h = Graph[b, g[[; If[HamiltonianQ[h, lista = AppendTo[lista, {i, j} ; lista Vi får följande förslag till vägbyggen {,}, {,5}, {,8}, {,5}, {,7}, {,8}, {5,7}, {5,8}, {7,8} Från kartan ser vi så att endast vägar mellan och 5 samt mellan och 8 fungerar Håkan Strömberg 8 KTH STH
Uppgift 8 För vilka n, n 0 kan 0 n skrivas som en produkt av två heltal x och y, 0 n = x y. Där varken x eller y innehåller siffran 0. Till exempel är 0 9 = 5 955 Svar 8. f[n_:=block[{tva, fem}, tva = IntegerDigits[^n; fem = IntegerDigits[5^n;! MemberQ[tva, 0 &&! MemberQ[fem, 0 g[ := Block[{lista = {}}, For[ i =, i <= 0, i++, If[f[i, AppendTo[lista, i; ; lista g[ {,,,, 5, 6, 7, 9, 8, } Gäller för följande n =,,,,5,6,7,9,8,. Håkan Strömberg 9 KTH STH
Uppgift 9 Beskriv antalet lösningar till ekvationen x+y+z = n där n är givet och x,y,z är positiva heltal, med hjälp av en binomialkoefficient som beror av n. Till exempel har ekvationen x + y + z = 7, 0 lösningar. Svar 9. Genom att experimentera med f[n_ := Block[{x, y, z, antal = 0}, For[x =, x <= n, x++, For[y =, y <= n, y++, For[z =, z <= n, z++, If[x + y + z == n, antal++; ; ; {antal, Binomial[n -, } Har man möjlighet att finna ( ) n Håkan Strömberg 0 KTH STH
Uppgift 0 Finn en formel för a n som endast beror av n för den givna rekursionsformeln då a 0 = och a = 8 a n = a n +a n Svar 0. RSolve[{a[n==a[n-+a[n-, a[0==, a[==8}, a[n, n Ge svaret a n = n ( ) n Håkan Strömberg KTH STH
Figur : Uppgift Ersätt bokstäverna i tabellen i, figur, med siffror... 9 så att de sex tresiffriga talen som kan läsas ur tabellen får följande egenskaper: ABC och CBD är primtal BBC och CDF är heltalskvadrater ACE och ECF är heltalskuber Svar. p = Permutations[{,,,, 5, 6, 7, 8, 9}, {6}; l = Table[Prime[n, {n, 6, 68}; l = Table[n^, {n, 0, }; l = Table[n^, {n, 5, 9}; f[p_ := Block[{t = {0, 0, 0, 0, 0, 0}, i}, t[[ = p[[*00 + p[[*0 + p[[; t[[ = p[[*00 + p[[*0 + p[[; t[[ = p[[*00 + p[[*0 + p[[; t[[ = p[[*00 + p[[*0 + p[[6; t[[5 = p[[*00 + p[[*0 + p[[5; t[[6 = p[[5*00 + p[[*0 + p[[6; MemberQ[l, t[[ && MemberQ[l, t[[ && MemberQ[l, t[[ && MemberQ[l, t[[ && MemberQ[l, t[[5 && MemberQ[l, t[[6 For[i =, i <= Length[p, i++, If[f[p[[i, Print[p[[i Ger svaret a = 5,b =,c =,d = 9,e =,f = 6 Håkan Strömberg KTH STH
Uppgift Jag tänker på fyra olika positiva heltal,a,b,c,d. När jag summerar dem parvis blir fem av de möjliga sex summorna i någon ordning 5, 6, 7, 8, 5. Vilka är talen? lista = {}; summor = {5, 6, 7, 8, 5}; For[a =, a < 5, a++, For[b = a +, b < 5, b++, For[c = b +, c < 5, c++, For[d = c +, d < 5, d++, s = {a + b, a + c, a + d, b + c, b + d, c + d}; antal = 0; For[i =, i <= 6, i++, If[MemberQ[summor, s[[i, antal = antal + ; ; ; If[antal == 5, lista = AppendTo[lista, {a, b, c, d} ; ; lista Vi får att talen är,5,, Håkan Strömberg KTH STH