Ihre Aufgabe ist es, ein Programm zu schreiben, das bei Eingabe von n den minimalen Ausdruck jeder Zahl von 1 bis n in der angegebenen Reihenfolge ausgibt . Das kürzeste Programm in Bytes gewinnt.
Ein minimaler Ausdruck kombiniert Einsen mit Addition und Multiplikation, um die angegebene Zahl zu erhalten, wobei so wenig Einsen wie möglich verwendet werden. Wird zum Beispiel mit elf 23
ausgedrückt 23=((1+1+1)(1+1)+1)(1+1+1)+1+1
, was minimal ist.
Bedarf:
- Das Programm muss eine positive natürliche Zahl n eingeben.
- Die Ausgabe muss in folgendem Format erfolgen:
20 = ((1+1+1)(1+1+1)+1)(1+1)
- Ihre Ausgabe enthält möglicherweise keine unnötigen Klammern wie
8 = ((1+1)(1+1))(1+1)
. - Das Multiplikationszeichen
*
ist optional. - Leerzeichen sind optional.
- Sie müssen nicht alle möglichen Gleichungen für einen bestimmten Wert ausgeben: Sie haben beispielsweise die Wahl,
4=1+1+1+1
oder auszugeben4=(1+1)(1+1)
. Sie müssen nicht beide ausgeben. - Das kürzeste Programm (in Bytes) in jeder Sprache gewinnt.
1 = 1 2 = 1 + 1 3 = 1 + 1 + 1 4 = 1 + 1 + 1 + 1 5 = 1 + 1 + 1 + 1 + 1 6 = (1 + 1 + 1) (1 + 1) 7 = (1 + 1 + 1) (1 + 1) +1 8 = (1 + 1 + 1 + 1) (1 + 1) 9 = (1 + 1 + 1) (1 + 1 + 1) 10 = (1 + 1 + 1) (1 + 1 + 1) +1 11 = (1 + 1 + 1) (1 + 1 + 1) + 1 + 1 12 = (1 + 1 + 1) (1 + 1) (1 + 1) 13 = (1 + 1 + 1) (1 + 1) (1 + 1) +1 14 = ((1 + 1 + 1) (1 + 1) +1) (1 + 1) 15 = (1 + 1 + 1 + 1 + 1) (1 + 1 + 1) 16 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) 17 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) +1 18 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) 19 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) +1 20 = ((1 + 1 + 1) (1 + 1 + 1) +1) (1 + 1)
Hier sind einige weitere Testfälle: (Denken Sie daran, dass auch andere Ausdrücke mit der gleichen Anzahl von Einsen zulässig sind.)
157=((1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1
444=((1+1+1)(1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)
1223=((1+1+1)(1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)(1+1+1+1+1)+1+1+1
15535=((((1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)((1+1+1)(1+1)+1)+1)(1+1+1)+1)(1+1+1)(1+1+1)+1
45197=((((1+1+1)(1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1+1)+1+1
Viel Glück! - Die Schildkröte 🐢
n=20
) und 2) Sie sagen zu Beginn, dass die ganzzahlige Komplexität, die sich von der Gleichung unterscheidet, ausgegeben werden muss, aber Sie schließen das nicht in ein eines der Beispiele mit Ausnahme des allerersten.