Berechnung eines Codes(Vorsicht!Langer Post)

Hallo,
Es geht um folgende Aufgabe:

Es ist ein Code aus Nullen und Einsen definiert mit dem man Zahlen
darstellt.

Hier der Code

1 entspricht 0
2 enspricht 10
3 entspricht 110
4 entspricht 1110
5 enspricht 11110

Aus diesem Codes setzen wir eine Summe zusammen also z.B

0 0 0 0 0 entspricht 1+1+1+1+1 = 5
oder z.B
10 0 0 0 entspricht 2+1+1+1 = 5

Nun meine Frage:

Wäre es möglich, nur aus der Anzahl der Nuller und Einser zu
bestimmen aus, welchen Codes die Summe zusammen gesetzt ist, wenn man
weiss, dass die gebildete Summe immer 5 sein muss? Die Reihenfolge
der Codes ist egal.

Ein Beispiel:

10 0 0 0 besteht aus 4 Nullern und einer Eins. Wie kann man
bestimmen, dass der Code aus den Codebestandteilen 10 0 0 0 besteht?
Die Reihenfolge ist wie bereits erwähnt egal.

Hat jemand eine Idee?Würde mich über Ansatze oder
Verfahrensvorschläge sehr freuen :smile:

Viele Grüße

Informatics

Hallo!
Es gibt eine rechenweise die der Erklärung ein wenig näher bringen könnte.In der Astrologie berechnet man Glückszahlen wie folgt:

Z.B.Eine Person ist am 26.12.1975 geboren,da errechnet man die Glückszahl also 26+12+19+75=132 jetzt werden die einzelnen Stellen zusammen addiert,also1+3+2=6,jetzt rechnen wir anders und kommen auf das gleiche Ergebnis.2+6+1+2+1+9+7+5=33 wieder addieren 3+3=6 .Das ist doch ähnlich wie bei deinem Zahlencode.
Vielleicht findet sich ja noch eine Erklärung dafür.

Gruß Frank

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo informatics,

weiss zwar nicht, wozu dass verwendet wird, aber bei Deinem Code ist doch

1 entspricht 0
2 enspricht 10
3 entspricht 110
4 entspricht 1110
5 enspricht 11110

Die Zahl Z eine Summe von einer Null und vorher (Z-1) Einsen.

Wenn also die Gesamtsumme 5 ist, so gibt es doch nur wenige Kombinationen

1+1+1+1+1 = 0 0 0 0 0 = 5\*0
1+1+1+2 = 0 0 0 10 = 4\*0 + 1\*1 
1+2+2 = 0 10 10 = 3\*0 + 2\*1 (A)
1+1+3 = 0 0 110 = 3\*0 + 2\*1 (B)
2+3 = 10 110 = 2\*0 + 3\*1 

Es geht also nicht! (Siehe A und B)

Der Umkehrschluß, eine mögliche Kombination für soundsoviel Nullen und Einsen zu finden ist der:

a) Male alle Nullen bis auf eine Einzeln hin
b) schreibe alle einsen nacheinander und die letzte 0 dahinter.

Übrigens, die Summer der Anzahl der Nullen und Einsen ist immer gleich der Gesamtzahl

Gruß
achim

Hallo,
Es geht um folgende Aufgabe:

Es ist ein Code aus Nullen und Einsen definiert mit dem man
Zahlen
darstellt.

Hier der Code

1 entspricht 0
2 enspricht 10
3 entspricht 110
4 entspricht 1110
5 enspricht 11110

Aus diesem Codes setzen wir eine Summe zusammen also z.B

0 0 0 0 0 entspricht 1+1+1+1+1 = 5
oder z.B
10 0 0 0 entspricht 2+1+1+1 = 5

Nun meine Frage:

Wäre es möglich, nur aus der Anzahl der Nuller und Einser zu
bestimmen aus, welchen Codes die Summe zusammen gesetzt ist,
wenn man
weiss, dass die gebildete Summe immer 5 sein muss? Die
Reihenfolge
der Codes ist egal.

Ein Beispiel:

10 0 0 0 besteht aus 4 Nullern und einer Eins. Wie kann man
bestimmen, dass der Code aus den Codebestandteilen 10 0 0 0
besteht?
Die Reihenfolge ist wie bereits erwähnt egal.

Hallo,
wenn ich Dich richtig verstanden habe dann funktioniert das nicht, die Darstellung der 5 ist nicht eindeutig:
Nehmen wir den Fall 2+2+1=5 und den Fall 3+1+1=5.
Die Darstellung im ersten Fall wäre: 10100
im zweiten Fall: 11000
In beiden Fällen ist die Anzahl der Nullen und der Einsen gleich groß, also wäre es unmöglich nur nach der Anzahl zu entscheiden aus welchen Summanden nun die Zahl 5 entstanden ist.
Oder habe ich was missverstanden?
Gruß

Hi zusammen!
Wenn die einzelnen 0 und 1 im Code nicht durcheinandergewürfelt werden, kann man die einzelnen Summanden bekommen.
Kopiert folgenden Code in eine *.vbs Datei und führt diese aus.

s=inputbox(„Code eingeben“)
dim i
dim fehler
fehler = 0
i=1
while i[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
Danke für die Antwort. Es geht also nicht :frowning: Aber es wäre doch
bestimmt möglich einen Algorithmus zu finden, um alle möglichen
Kombinationen,welche zu z.B 5 führen zu berechnen!? Hätte dafür
jemand eine Idee?

Viele Grüße

Informatics

Hallo,
Nein, das hast du schon richtig verstanden :smile: Mir war dies nur zuvor
nicht wirklich bewusst. Hatte dies übersehen.Die aktuelle Frage
lautet somit jetzt:Wie berechnet man alle möglichen Kombinationen,
welche bei einer bestimmten Anzahl von Nuller und Einser möglich
sind.

Viele Grüße

Informatics

Hallo,
Danke für den VBS Code. Sicherlich kann man aus dem Code, die
Summanden bekommen aber was ich bräuchte wäre ehr etwas um alle
möglichen Summanden zu bekommen!Dann hätte ich auch alle möglichen
Codezusammensetzungen.Wäre dies auch möglich bzw. gibt es dafür auch
ein Verfahren?

Viele Grüße

informatics

Hallo Informatics

Aber es wäre doch bestimmt möglich einen Algorithmus zu finden, um
alle möglichen Kombinationen,welche zu z.B 5 führen zu berechnen!?
Hättedafür jemand eine Idee?

Übrigens, die Summer der Anzahl der Nullen und Einsen ist immer gleich
der Gesamtzahl

Alle Lösungen für X > 1 (z.B. = 5):

for i = 1 to X Do
begin
 J = X - i;
 für alle Kombinationen an haufen aus J Einsen Do
 begin
 Nimm i Nullen und schreibe sie hin;
 schreibe die Kombination an Einsen vor die Nullen;
 end;
end;

Kannst Du wirklich was mit solchen Zahlen anfangen? Oder können wir uns einfach darauf beschränken, das Frage mit Dezimalzahlen zu formulieren:

Aus wievielen verschiedenen Summen positiver ganzer Zahlen kann ich eine Zahl X erstellen?

Aber dass weis ich leider auch nicht.

Gruß
achim

Bleibt denn die Zuordnung :
1= 0
2= 10
3 = 110
4=1110
5=11110
oder ist die Zuordnung, um z.B. auf 6 zu kommen erweitert um
6=111110?

Timo Engel

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
Ja, die Zuordnung bleibt so… Es geht immer so weiter…
also z.B
7 entspricht 1111110
8 entspricht 7 Einsern und 1 Null am Ende usw.

Viele Grüße

Informatics

Hallo,
Den Code verwende ich wirklich :smile: Aber wir könnten es auch mit
Dezimalzahlen machen. Es geht ja nur darum, eine Summe zurück in ihre
Summanten zu zerlegen bzw. alle möglichen Bestandteile der Summe zu
berechnen. Diese kann ich ja dann wieder in meinen Code umrechnen :smile:
Aber ich befürchte so einfach wird dies nicht sein. Vielen Dank für
den Code, werde ihn mir jetzt einmal ansehen.

Viele Grüße

Informatics

Hallo Informatics,

Den Code verwende ich wirklich :smile:

gehts da um diesen Simpelst-Rechner, mit dem Man solche Zahlen mit einfachster Rechenvorschrift addieren kann? Oder wofür verwendet man so ein „alternatives“ Format?

Gruß
achim

Hallo,
Danke für eure Antworten.

Vielen Dank

Gruß

Informatics