Напрямки
Напишіть програму, яка за вхідним цілим числом n ( n >= 0) видає найменше додатне ціле число m де:
n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k]aіbє кінцевими послідовностями однакової довжини- всі елементи
aменшеm - всі елементи
bменшеm - всі елементи
aє різними і цілимиa[x] >= 0 - всі елементи
bє різними і цілимиb[x] >= 0 a[x]іb[x]не є обома 0 (оскільки 0 ^ 0 невизначено)
Це код-гольф , тому виграє найменше байтів.
Приклади
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<2тоді m<3і m<4т.д., поки я не знайду суму, що дорівнює n. Крім того, я думав про те, щоб сума 0була без термінів, але тоді, що є результатом? м>?
n = a[1]^b[1] + a[2]^b[2] + ... + a[k]^b[k].
aі bє кінцевими послідовностями довжини 0, тому немає цілого числа, mяке б не задовольняло обмеженням, а оскільки немає найменшого цілого числа, відповідь не визначається. Можливими виправленнями буде запит на найменше натуральне число m(у такому випадку ви повинні змінити очікувану відповідь на 0) або найменше додатне ціле число m.