Wenn du die Reihenfolge der Zahlen nicht verändern darfst, so ergeben sich für Addition, Subtraktion, Multiplikation und Division folgende 64 Kombinationen (ZeichenAnzahl = 43 = 64), von denen bei 38 Aufgaben das Ergebnis zwischen 0 und 100 liegt:
2+5+8+10 = 25
2+5+8-10 = 5
2+5+8*10 = 87
2+5+8/10 = 7.8
2+5-8+10 = 9
2+5-8-10 = -11
2+5-8*10 = -73
2+5-8/10 = 6.2
2+5*8+10 = 52
2+5*8-10 = 32
2+5*8*10 = 402
2+5*8/10 = 6
2+5/8+10 = 12.625
2+5/8-10 = -7.375
2+5/8*10 = 8.25
2+5/8/10 = 2.0625
2-5+8+10 = 15
2-5+8-10 = -5
2-5+8*10 = 77
2-5+8/10 = -2.2
2-5-8+10 = -1
2-5-8-10 = -21
2-5-8*10 = -83
2-5-8/10 = -3.8
2-5*8+10 = -28
2-5*8-10 = -48
2-5*8*10 = -398
2-5*8/10 = -2
2-5/8+10 = 11.375
2-5/8-10 = -8.625
2-5/8*10 = -4.25
2-5/8/10 = 1.9375
2*5+8+10 = 28
2*5+8-10 = 8
2*5+8*10 = 90
2*5+8/10 = 10.8
2*5-8+10 = 12
2*5-8-10 = -8
2*5-8*10 = -70
2*5-8/10 = 9.2
2*5*8+10 = 90
2*5*8-10 = 70
2*5*8*10 = 800
2*5*8/10 = 8
2*5/8+10 = 11.25
2*5/8-10 = -8.75
2*5/8*10 = 12.5
2*5/8/10 = 0.125
2/5+8+10 = 18.4
2/5+8-10 = -1.6
2/5+8*10 = 80.4
2/5+8/10 = 1.2
2/5-8+10 = 2.4
2/5-8-10 = -17.6
2/5-8*10 = -79.6
2/5-8/10 = -0.4
2/5*8+10 = 13.2
2/5*8-10 = -6.8
2/5*8*10 = 32
2/5*8/10 = 0.32
2/5/8+10 = 10.05
2/5/8-10 = -9.95
2/5/8*10 = 0.5
2/5/8/10 = 0.005
Hier noch einmal nur die 38 gültigen Aufgaben:
2+5+8+10 = 25
2+5+8-10 = 5
2+5+8*10 = 87
2+5+8/10 = 7.8
2+5-8+10 = 9
2+5-8/10 = 6.2
2+5*8+10 = 52
2+5*8-10 = 32
2+5*8/10 = 6
2+5/8+10 = 12.625
2+5/8*10 = 8.25
2+5/8/10 = 2.0625
2-5+8+10 = 15
2-5+8*10 = 77
2-5/8+10 = 11.375
2-5/8/10 = 1.9375
2*5+8+10 = 28
2*5+8-10 = 8
2*5+8*10 = 90
2*5+8/10 = 10.8
2*5-8+10 = 12
2*5-8/10 = 9.2
2*5*8+10 = 90
2*5*8-10 = 70
2*5*8/10 = 8
2*5/8+10 = 11.25
2*5/8*10 = 12.5
2*5/8/10 = 0.125
2/5+8+10 = 18.4
2/5+8*10 = 80.4
2/5+8/10 = 1.2
2/5-8+10 = 2.4
2/5*8+10 = 13.2
2/5*8*10 = 32
2/5*8/10 = 0.32
2/5/8+10 = 10.05
2/5/8*10 = 0.5
2/5/8/10 = 0.005
--
Die Lösungen haben wir per Computerprogramm berechnet, folgender Ausschnitt zeigt, wie solch ein Programm in Actionscript 2 aussehen kann:
var calcChars:Array = new Array("+", "-", "*", "/");
var str1:String = "";
var str2:String = "";
var str3:String = "";
for(var i:Number=0;i<4;i++) {
str1 = num1+calcChars[i];
for(var j:Number=0;j<4;j++) {
str2 = str1+num2+calcChars[j];
for(var k:Number=0;k<4;k++) {
str3 = str2+num3+calcChars[k]+num4;
expression.parse( str3 );
calcResult = expression.eval();
if(calcResult>0&&calcResult<100) { trace("gültig: " +str3+" = "+calcResult); };
}
}
}
Den Code für den Parser können wir hier nicht veröffentlichen.