För många år sen(8?) så lista jag fram att de finns 2 svar till den klassiska Dessa frågor e alltid så dåligt formulerade. Får olika bokstäver vara samma tal? Det finns bara ett svar som är relevant. Engelsmännen ägnar sig åt en typ av problem som de kallar cryptarithms - som de ibland också kallar alphametics. e har alltså med kryptiska bokstäver och aritmetik att göra. Vi svenskar skulle helt enkelt kunna kalla dem för räkneproblem med bokstäver. <b> >Niklas bullshit svara på hans fråga </b> >Dessa frågor e alltid så dåligt formulerade. Får olika bokstäver vara samma tal? Hur blir det ! jag önskar svar på denna Apollokapsel <b> >Tror du verkligen de? Har någonsin x och y vart samma tal vid en ekvation du fick göra i skolan? </b> >en brute-force-metod på datorn löser ju båda problemen hur snabbt som helst. Niklas: Du har alltså alldrig sett ett sådant här problem förr? Kånstit... >Du har alltså alldrig sett ett sådant här problem förr? >jag hade kommit fram till med mina (begränsade?) matematikkunskaper. I.o.m min fråga "vad är y och x?" så sökte jag 2 siffror, och inte "2 punkter i ett diagram". Ja, jag har inte talat om punkter i ett diagram, jag har poängterat att det finns oändligt många par av tal x och y som uppfyller detta. Tänkte bara lägga till ett annat exempel för att visa att det finns fler lösningar. Jag håller med Niklas, man måste få all info för att det ska vara någon mening. Kalla det en skada men jag har ibland problem med att lösa uppgifter eftersom de OFTA (tyvärr även på tentor på högskola) är tveksamt ställda. Oftast kan man "antaga att" vissa saker gäller men inte alltid... > Hehe... är på gång... har kommit till ett läge där E kan vara två olika värden, och man får ut N för båda värdena. Sen är ju R uppenbar, och O kan bara ha tre värden, så då e man nere på 3*7! varianter. går ju hur lätt som helst att lösa med ett program men jag vill inte... =) Yahoo!!! Jepp, det var duktigt! >Gav mig en idé om att skriva ett program som löser sådana allmäna problem, det ska jag nog försöka klura på en stund... Den nuvarande koden är grymt ful, men den löser problemet iaf...=) Imponerande,att optimera detta blir nog inte lätt. Personligen börjar jag fundera på en lösning i C med arrayer, VBs är nog för ineffektiva. Hmm... det behöver vid närmare eftertanke inte vara 1, det kan ju vara noll! Nu när du skrev >kan vara noll så> undrar jag om det inte var lösning 2 <b> >undrar jag om det inte var lösning 2 </b> Jag spikade R = 1 också. >Kollar man på talen längst till höger(N och E) så finns de dessa kombinationer: Måste ha missat den =) *lucky me*Räkna
SEND
+ MORE
=MONEY
Nån som har lust att lista ut dessa 2 svar?
-------------------------------------------------------------------
Sen en till klurighet:
x^y = y^x
vad är y och x? (Kanske lite för lätt?)Sv: Räkna
Det är nog nödvändigt, annars kan man ju sätta alla till 0...
och på andra frågan:
Beror på vad ^ betyder. Om det betyder "upphöjt till", vilket jag antar, så gäller det åtminstone för alla x=y.
Dessutom gäller det för alla x och y för vilka x/ln x=y/ln y stämmer.
Detta är sant för alla ställen då kurvan
f(x)=x/ln x
skär en godtycklig linje parallell med x-axeln i minst två punkter, vilket sker för x>1.
Exakta förhållandet mellan x och y är jag dock lite osäker på och det får man fundera lite ytterligare på.Sv: Räkna
Det finns 9 bokstäver varav 6 är unika.
Niklas bullshit svara på hans fråga
Nästa blir
NOSE CONE UPON OCEAN + _______________ Svar(RESCUE).Sv: Räkna
Här är ett sådant problem som visar att två fel ändå kan ge rätt svar:
W R O N G
W R O N G
------------------
R I G H T
Knepet är att räkneexemplet stämmer om varje bokstav ersätts med en bestämd siffra mellan 0 och 9. I det här fallet blir resultatet följande:
2 4 1 5 3
2 4 1 5 3
--------------
4 8 3 0 6
Men hur är det så med nedanstående 'cryptarithm' som är uppbyggd enligt samma princip:
S E N D
M O R E
-----------------
M O N E Y
Ett tips: Två gånger blir det 1 i minne...
------------------------
Lösningen:
9567
1085
----------
10652Sv: Räkna
Om du syftar på delen om x^y =y^x så vet jag inte vad du menar med "bullshit".
Jag har gett en så explicit förklaring jag kan på de minuterna jag hade sedan jag kom hem från tjeckien... De lösningar som finns är precis de jag angett. Om man vill säga lite mer "omatematiskt":
rita upp funktionen f(x)=x/ln x över 0 < x < 10.
välj ett y-värde, t.ex. 5.
Kolla hur många skärningar f(x) har med y=5. finns det två så är de två lösningarna det par av tal som uppfyller villkoret.Sv: Räkna
Niklas: Tror du verkligen de? Har någonsin x och y vart samma tal vid en ekvation du fick göra i skolan?
Ungefär som att fråga om Blå och Gul kan vara samma färg. De är ju trots allt bara ord, kan vara precis vad man vill om man känner för de, sant, men de finns en mening vid de olika bokstavskombinationerna.
dr krupp: Kan du få fram de andra svaret också?Sv: Räkna
N O S E
C O N E
U P O N
+O C E A N
---------------------
R E S C U E Sv: Räkna
Ja... definitivt... det är just därför en frågeställning ska vara korrekt och fullständig för att man ska vilja lägga tid på den.
Och ingenstans finns det något som säger att talen måste vara olika.
Men betraktar du mitt svar om x^y=y^x som riktigt eller vill du att det nödvändigtvis måste vara heltal eller nåt i den stilen?
SvenPon: Lugna ner dig ! =)
Kom hem för typ 15 timmar sen... ska se hur lösningen kan se ut. Sen vill jag gärna göra det lite analytiskt, en brute-force-metod på datorn löser ju båda problemen hur snabbt som helst.Sv: Räkna
Bra Niklas skall bli intressant att kolla
"By the way" det finns två svar.Sv: Räkna
Även för många år sen då jag såg den för första gången så räknade jag snabbt fram vad som skulle göras... vilket inte var att fylla ut additionen med bara 0-or.
Och vart fick du viljan ifrån att lösa mitt andra problem då? Borde inte de vara samma svar?
Är de inte jobbigt att inte kunna förstå en helt vanlig fråga utan en total förklaring? Speciellt kånstit är de då du i samma inlägg försöker få till ett högklassigt mattematiskt svar.
SvenPon: Sitter här å klurar på ditt knep... Sv: Räkna
Jorå, men det spelar ingen roll, om man inte ger en fullständig problemställning så kan man inte svara helt korrekt. Och jag började på ditt första problem, jag bara hade synpunkter på formuleringen.
Skälet till detta var att jag ganska direkt kom till en punkt där det fanns tre val, varav två gav upphov till tal som redan var upptagna. Sen tänkte jag inte mycket på att det isf kunde vara 0-or, så jag blev lite konfunderad. Tror jag ska försöka mig på båda om en liten stund.
Sen hade jag inte speciellt mycket tid på mig, så när jag valde att anstränga mig så tog jag det problem som verkade mest intressant. Jag försökte inte "få till ett högklassigt mattematiskt svar", jag beskrev så långt jag kunde den lösning jag hade kommit fram till med mina (begränsade?) matematikkunskaper. Sedan är det väldigt svårt att beskriva detta utan en graf. Kan göra ett försök.
<code>
| |
| |
| |
| | __------------
| \__ __-----
| --------
|
|----------------------------------->
||
| |
| |
</code>
I den del av grafen som ligger ovanför x-axeln så finns det y-värden som har två motsvarande x-värden. Dessa par av värden (t.ex. x1 och x2) uppfyller x1^x2=x2^x1
enligt
ln(x1^x2) = ln(x2^x1)
x2*ln(x1) = x1*ln(x2)
x1/ln(x1) = x2/ln(x2)
Om det finns x1, x2: x1 != x2 som uppfyller x1/ln(x1)=x2/ln(x2) så är det lösningar till din fråga. Det jag undrar nu är om det du är ute efter är något specifikt värde på x1 och x2, eller om du har andra krav förutom de du har satt upp (t.ex. att x1 och x2 skulle vara heltal).Sv: Räkna
Det var dagens "understatement" , du är bra Niklas "keep going"
"Det är huvud på den pöjken , han skall köstas på"Sv: Räkna
De svaret jag har i huvudet är heltal.Sv: Räkna
Det du tänker på är 2 och 4. Inses ganska lätt efter studium av grafen.
Talen skall vara heltal och större än 1. (eftersom ln 1=0).
Sen ligger minimum i x=e (ungefär lika med 2.7). Det måste alltså vara ett heltal mindre än 2.7 men större än 1, och kvar finns bara 2, vilket man kan sätta som x, och då får man ut y=4.Sv: Räkna
Testa 1.5 och 7.4. Det ger ungefär 20.1 i båda fallen (och ja, jag har avrundat svaren eftersom man inte kan ge en explicit exakt lösning). 2.5 och 2.97 är likadana dom, ger ca 15.2.Sv: Räkna
/ DavidSv: Räkna
Hur blir det ! jag önskar svar på denna Apollokapsel
N O S E
C O N E
U P O N
+O C E A N
---------------------
R E S C U E Sv: Räkna
Sv: Räkna
Kolla här SvenPon:
5720
9750
8475
+ 79035
---------
= 102980
Eller:
N = 5
O = 7
S = 2
E = 0
C = 9
P = 4
R = 1
U = 8
A = 3Sv: Räkna
Tänkte att jag skulle ta reda på det andra svaret, så jag skrev ihop ett litet program, men det hittade bara lösningen som redan är given...
Får man kanske fråga om den andra?
Sen vore det intressant att veta hur du kom fram till lösningen. R=1 är ju självklart, och då får man O>=7, E<=3. Sen så ger den sista kolumnen att E är ett jämnt tal, och att N=5-E/2. Då har man ju naglat ner det en bit, men sen körde jag fast lite grann. Har iofs inte lagt så där överdrivet mycket tid på det, men...
Gav mig en idé om att skriva ett program som löser sådana allmäna problem, det ska jag nog försöka klura på en stund...Sv: Räkna
Gör det nyfiken på hur du löser det.Beträffande det andra svaret ,kommer bara
ihåg att det sas så när jag löste det första gången.Jag är inte riktigt säker på den uppgiften,får samma svar som Ni.
Skulle vara intressant att tillverka egna på svenska,kanske ditt prog kan vara ett verktyg.Sv: Räkna
Kan lika gärna ta å klistra in den här... det den gör är bara att gå igenom alla varianter.
<code>
Option Explicit
Private Sub Form_Load()
Dim N As Long, O As Long, S As Long, E As Long, C As Long
Dim U As Long, P As Long, A As Long, R As Long
Dim m2 As Long, m3 As Long, m4 As Long, m5 As Long, m6 As Long
Dim s1 As Long, s2 As Long, s3 As Long, s4 As Long, s5 As Long, s6 As Long
R = 1
For E = 0 To 2 Step 2
N = 5 - E \ 2
For O = 7 To 9
For S = 0 To 9
For C = 0 To 9
For U = 0 To 9
For P = 0 To 9
For A = 0 To 9
s1 = (E + E + N + N) Mod 10
m2 = (E + E + N + N) \ 10
s2 = (S + N + O + A + m2) Mod 10
m3 = (S + N + O + A + m2) \ 10
s3 = (O + O + P + E + m3) Mod 10
m4 = (O + O + P + E + m3) \ 10
s4 = (N + C + U + C + m4) Mod 10
m5 = (N + C + U + C + m4) \ 10
s5 = (O + m5) Mod 10
m6 = (O + m5) \ 10
s6 = m6
If s1 = E And s2 = U And s3 = C And s4 = S And s5 = E And s6 = R Then
Select Case A
Case P, U, C, S, O, N, E, R
Case Else
Select Case P
Case U, C, S, O, N, E, R
Case Else
Select Case U
Case C, S, O, N, E, R
Case Else
Select Case C
Case S, O, N, E, R
Case Else
Select Case S
Case O, N, E, R
Case Else
Select Case O
Case N, E, R
Case Else
Select Case N
Case E, R
Case Else
Select Case E
Case R
Case Else
MsgBox "n =" & CStr(N) & vbCrLf & _
"o =" & CStr(O) & vbCrLf & _
"s =" & CStr(S) & vbCrLf & _
"e =" & CStr(E) & vbCrLf & _
"c =" & CStr(C) & vbCrLf & _
"u =" & CStr(U) & vbCrLf & _
"p =" & CStr(P) & vbCrLf & _
"a =" & CStr(A) & vbCrLf & _
"r =" & CStr(R) & vbCrLf
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End If
Next A
Next P
Next U
Next C
Next S
Next O
Next E
End Sub
</code>
Men jag får fundera lite på hur en "riktig" lösning skulle fungera.Sv: Räkna
Funderar på om man kan använda bokstävernas ASCII kod på något listigt sätt . Sv: Räkna
Tanken är nog nån slags rekursiv variant.
Med arrayer (eller länkade listor?) skulle man kunna göra vissa antaganden, precis som jag har gjort med R=1 och E=0 eller 2. (detta skall alltså matas in från en användare).
Sen är ju själva beräkningen av summan ganska lätt...men som sagt, detta tål nog att funderas på en stund först.Sv: Räkna
Den högsta summan du kan få ur fyra tal < 9 är 36. Den högsta minnessiffran i den näst högraste kolumnen måste alltså vara 3. 36+3=39, så det kommer aldrig bli en högre minnessiffra än 3.
Minnessiffran ovanför O kommer alltså absolut max vara 3, och det räcker inte för att få upp R högre än till 1.Sv: Räkna
Icke godkänt enl min uppfattning.Sv: Räkna
Ja, det är ju en ganska naturlig tanke... =)
Personligen tycker jag att lite av idén går förlorad om R=0, men det vore bra om Daniel kunde förklara vilka resonemang som ledde fram till hans lösning.
Då kan man se om det funkar eller inte.Sv: Räkna
Sen efter lite kalkylerande så fick jag snabbt uppfattningen av att svaret(RESCUE) skulle behöva vara så lågt som möjligt för att få de ovan talen att nå upp.
Kollar man på talen längst till höger(N och E) så finns de dessa kombinationer:
E=0, N=5
E=4, N=3
E=6, N=2
Och som Niklas säger så kan inte minnestalet till den näst längst till vänster bli högre än 3, och de plus 9 blir 12 som mest. Vilket gör att E inte får vara högre än 2, och de betyder då att E=0 och N=5.
Hittills så har vi då:
R=1
E=0
N=5
Även O>6
Genom att chansa på att O=7 så måste C=9 och U=8(För att få över 3 i minne)
Då hade jag fått dessa spikade:
R=1
E=0
N=5
O=7
C=9
U=8
De enda som var kvar då var C,P och A. Och siffrorna: 2,3,4 och 6.
Efter några snabba tester så var svaret framme.
Förresten så gjorde jag detta i Excel, så att testa sig fram var inte alls tidskrävande.Sv: Räkna
>E=0, N=5
>E=4, N=3
>E=6, N=2
Hmm... jag fick fram att det även kunde vara E=2, N=4. Vad är det som motsäger det?
Det var nog därför jag körde fast.
Sen är jag som sagt inte mycket för "chansande"... =) Vill ha en analytisk utredning av allt (även om det ofta är aningen lättare om man har svaret dessutom)
Nåväl. Det betyder ju inte att R inte garanterat måste vara skild från noll, även om det definitivt inte ser ut som något annat.Sv: Räkna
Om jag inte minns fel så var de andra svaret på SEND + MORE = MONEY ett svar med en 0:a i början.