Richtungen
Schreiben Sie ein Programm, das bei einer eingegebenen Ganzzahl n ( n >= 0) die kleinste positive Ganzzahl m ausgibt, wobei:
n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k]aundbsind endliche Folgen gleicher Länge- Alle Elemente von
asind kleiner alsm - Alle Elemente von
bsind kleiner alsm - Alle Elemente von
asind verschieden und ganze Zahlena[x] >= 0 - Alle Elemente von
bsind verschieden und ganze Zahlenb[x] >= 0 a[x]undb[x]sind nicht beide 0 (da 0 ^ 0 unbestimmt ist)
Das ist Code-Golf , also gewinnen die wenigsten Bytes.
Beispiele
In 0 -> Out 1
Possible Sum:
In 1 -> Out 2
Possible Sum: 1^0
In 2 -> Out 3
Possible Sum: 2^1
In 3 -> Out 3
Possible Sum: 2^1 + 1^0
In 6 -> Out 4
Possible Sum: 2^2 + 3^0 + 1^1
In 16 -> Out 5
Possible Sum: 2^4
In 17 -> Out 4
Possible Sum: 3^2 + 2^3
In 23 -> Out 6
Possible Sum: 5^1 + 3^0 + 2^4 + 1^3
In 24 -> Out 5
Possible Sum: 4^2 + 2^3
In 27 -> Out 4
Possible Sum: 3^3
In 330 -> Out 7
Possible Sum: 6^1 + 4^3 + 3^5 + 2^4 + 1^0
m<2dann m<3anschließend m<4usw. , bis ich eine Summe finden , das gleich n. Ich habe auch darüber nachgedacht, die Summe für 0keine Terme zu haben, aber was ist dann die Ausgabe? m>?
n = a[1]^b[1] + a[2]^b[2] + ... + a[k]^b[k].
aund bsind endliche Folgen von Längen 0, so dass es keine Ganzzahl mgibt, die die Bedingungen nicht erfüllt, und da es keine kleinste Ganzzahl gibt, ist die Antwort nicht definiert. Mögliche Korrekturen wären, nach der kleinsten natürlichen Zahl m(in diesem Fall sollten Sie die erwartete Antwort dort auf ändern 0) oder nach der kleinsten positiven Ganzzahl zu fragen m.