Doofe Aufgabe :(

Hallo!

Wer kann diese Aufgabe lösen?? Ich hatte schon mehrere Versuche aber die „Lösungen“ waren immer falsch…

Also gleiche Buchstaben=gleiche Zahlen, verschiedene Buchstaben=versch. Zahlen (!!)

_EINS
+EINS
+EINS
+EINS
+EINS
_-----
_FÜNF

Vielen Dank… :smile:

Pfüati

Martin

die lösung :smile:

Also gleiche Buchstaben=gleiche Zahlen,
verschiedene Buchstaben=versch. Zahlen
(!!)

ich nehme mal an, du meinst ziffern und nicht zahlen (?) jedenfalls werde ich im folgenden meine überlegung damit führen

_EINS
+EINS
+EINS
+EINS
+EINS
_-----
_FÜNF

1049
1049
1049
1049
1049
5245

ich dachte zuerst, das beispiel wäre unlöslich und wollte das hier beweisen. dabei bin ich auf den lösungsweg gestossen :smile:
wens interessiert, der kanns ja lesen

FÜNF ist eine vierstellige zahl. demnach darf das ergebnis von 5*E nicht grösser als 1 sein
-> E = 0 oder E = 1.

F ist das ergebnis von 5*E + die zehnerstelle von 5*I. diese kann höchstens (9*5=45) 4 sein. somit ist entweder F im intervall 0 bis 4 oder 5 bis 9

Fallunterscheidung

Fall 1: E=0 ; F=0-4

F ist auch einerstelle von FÜNF und muss somit durch 5 teilbar sein (5*S).
-> F=0

damit wäre aber der annahme, dass verschiedene buchstaben verschiedene ziffern bedeuten, widersprochen.

Fall 2: E=1; F=5-9

F=5 (siehe fall 1)

S=ungerade=3,5,7,9 (1 wurde ja schon für E vergeben) und gibt somit für die zehnerstelle von S*5 die ziffern 1,2,3,4

das ergebnis der einerstelle von N*5 + zehnerstelle von S*5
hat die einerstelle N

-> ES(N*5) + ZS(S*5) = N

ich suche nun möglichkeiten, N mit konkreten ziffern zu besetzen, nehme also beliebige werte für N an und versuche, S so anzupassen, dass die rechnung stimmt.

0*5 + 0 = 0 - S=0 widerspruch, da S:ungerade
1*5 + 6 = 1 - widerspruch: N kann nicht 1 sein, da bereits E=1
2*5 + 2 = 2 - S=5 widerspruch, bereits F=5
3*5 + 8 = 3 - widerspruch: die zehnerstelle von S*5 kann nicht grösser als 4 sein.
4*5 + 4 = 4 - S=9; N=4
5*5 + 0 = 5 - S=0 widerspruch, da S ungerade
6*5 + 6 = 6 - widerspruch ZS(S*5)>4
7*5 + 2 = 7 - S=5 widerspruch: bereits F=5
8*5 + 8 = 8 - widerspruch ZS(S*5)>4
9*5 + 4 = 9 - S=9; N=9 - widerspruch

-> einzige verbleibende möglichkeit:
E=1, N=4, S=9, F=5

1 I 49*5 = 5 Ü 45

I*5 muss ein einstelliges ergebnis haben, da sonst F in der tausenderstelle nicht 5 sein könnte.
-> I=0 -> Ü=2

1049
1049
1049
1049
1049
5245

*bounce* HURRA!!

Unlösbare Aufgabe :frowning:
Wenn ich die Aufgabe richtig verstanden habe, wollte dich wohl jemand veralbern.
Ich wette, es gibt keine Lösung.
Ich bin davon ausgegangen, daß Du für die Buchstaben Ziffern (also 0 bis 9) einsetzt und dann als Beispiel 5 mal 1.111 = 5.555 rechnest, wenn die Buchstaben nicht verschieden wären …
Beweisen kann ich es nicht, aber ich habe mal ein Programm diese Rechnung prüfen lassen.

Ich bin davon ausgegangen, daß Du für die
Buchstaben Ziffern (also 0 bis 9)
einsetzt und dann als Beispiel 5 mal
1.111 = 5.555 rechnest, wenn die
Buchstaben nicht verschieden wären …

Ähm… man könnte zum Beispiel doch auch für E 1 einsetzen und für S 4. usw…

Nur bei der N’er Reihe muss 6 mal dieselbe Zahl kommen und die erste und letzte Zahl des Ergebnisses muss auch gleich sein. (gleicher Buchstabe)

EINS
1234
1234
1234
1234
1234

5635
FÜNF

(ist jetzt natürlich falsch…)

Irgendwie kann man das lösen…

Martin

Also gleiche Buchstaben=gleiche Zahlen,
verschiedene Buchstaben=versch. Zahlen
(!!)

ich nehme mal an, du meinst ziffern und
nicht zahlen (?) jedenfalls werde ich im
folgenden meine überlegung damit führen

Korrekt. :smile:

1049
1049
1049
1049
1049
5245

*bounce* HURRA!!

Vielen Dank für Deine Hilfe!! :smile: Und v.a. für die Erklärungen. Kaum kennt man das Ergebnis schon ist es logisch… wie immer… nochmals danke!:smile:)

Pfüati

Martin

Du brauchst mir nicht die Regeln zu erklären, die habe ich verstanden.
Ich habe einen idiotischen Fehler bei der Programmierung gemacht:

if e=i then break;

statt

if e=i then continue;

Jetzt habe ich die Lösung auch gefunden …
Es wäre übrigens tatsächlich möglich, daß eine vergleichbare Aufgabe nicht lösbar ist. Deshalb verstehe ich nicht, warum Du schreibst, es müsse eine Lösung geben. Ich denke, Du hast sie selber auch nicht gefunden bzw. nicht bewiesen, daß es keine geben kann.

MfG!

Grüß Gott

Du brauchst mir nicht die Regeln zu
erklären, die habe ich verstanden.

OK :smile:

Es wäre übrigens tatsächlich möglich, daß
eine vergleichbare Aufgabe nicht lösbar
ist. Deshalb verstehe ich nicht, warum Du
schreibst, es müsse eine Lösung
geben. Ich denke, Du hast sie selber auch
nicht gefunden bzw. nicht bewiesen, daß
es keine geben kann.

Naja, es wurde mir dabei gesagt, dass es eine Lösung gibt. Ich hab’s dann einfach mal geglaubt… klar kann man das nicht beliebig kombinieren. Aber was mich noch interessieren würde: Hast Du eine FORMEL zur Berechnung? Das wäre sehr interessant. Oder wie hast Du das Programm programmiert?

Danke im Voraus! :smile:

Pfüati
Martin

Also, da der Computer bekanntlich ziemlich dumm ist, aber dafür unheimlich schnell, macht das Programm nichts weiter, als alle möglichen Werte für die 6 Variablen (e, i, n, s, f, ü) zu kombinieren.
Ich habe nur mal schnell was in Pascal programmiert. Wenn für die Variablen nicht nur Ziffern (0 bis 9), sondern auch größere Zahlen eingesetzt werden sollen, kann man unter const „ziffer“ anders angeben (obere Grenze).
Der Algorithmus ist ziemlich primitiv, aber er hätte die Lösung im Bruchteil einer Sekunde gefunden, wenn ich nicht diesen dämlichen Fehler gemacht hätte …

Durch das break wird die Schleife gleich komplett abgebrochen, anstatt bei der höheren Zahl weiterzumachen („continue“), wenn die Variable gleich einer der vorigen ist. (Alle Variablen sollen nunmal unterschiedlich sein laut Aufgabenstellung.)
Das Programm hätte die Lösung nur gefunden, wenn gleichzeitig gilt:
e > i > n > s > f > ü
Bei der einzigen Lösung (1, 0, 4, 9, 5, 2) ist das nicht der Fall!
Also, irgendwann ist das Programm mal bei der richtigen Kombination angekommen und stellt fest: 5 * eins = funf

Const
 ja : Boolean = False;
 ziffer = 9;
Var
 e, i, n, s, f, u : Integer;
 eins, funf : LongInt;

Function tostr (i : LongInt) : String;
Var
 s : String;

Begin
 Str (i, s);
 tostr := s;
End;

Function toint (s : String) : LongInt;
Var
 i : LongInt;
 code : Integer;

Begin
 Val (s, i, code);
 toint := i;
End;

Begin
 For e := 0 To ziffer Do
 For i := 0 To ziffer Do
 Begin
 If i = e Then
 continue;
 For n := 0 To ziffer Do
 Begin
 If n In [e, i] Then
 continue;
 For s := 0 To ziffer Do
 Begin
 If s In [e, i, n] Then
 continue;
 For f := 0 To ziffer Do
 Begin
 If f In [e, i, n, s] Then
 continue;
 For u := 0 To ziffer Do
 Begin
 If u In [e, i, n, s, f] Then
 continue;
 eins := toint (tostr (e) + tostr (i) + tostr (n) + tostr (s) );
 funf := toint (tostr (f) + tostr (u) + tostr (n) + tostr (f) );
 ja := (5 \* eins = funf);
 If ja Then
 Begin
 Write ('JA!');
 WriteLn (e : 3, i : 3, n : 3, s : 3, f : 3, u : 3)
 End;
 End;
 End;
 End;
 End;
 End;
End.

Hallo!

Danke schön :smile: In Pascal kann ich zum Glück auch ein bisschen programmieren… Aber ich glaube eine richtige Formel dafür gibt es nicht oder? Das „von Hand“ nach dem System zu machen wäre ja doch ein bisschen umständlich… also danke nochmal!!

Pfüati
Martin