Petunjuk arah
Tulis sebuah program yang, diberi bilangan bulat input n ( n >= 0
), menghasilkan bilangan bulat positif terkecil m di mana:
n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k]
a
danb
urutan terbatas dengan panjang yang sama- semua elemen
a
kurang darim
- semua elemen
b
kurang darim
- semua elemen
a
yang berbeda dan bilangan bulata[x] >= 0
- semua elemen
b
yang berbeda dan bilangan bulatb[x] >= 0
a[x]
danb[x]
bukan keduanya 0 (karena 0 ^ 0 tidak pasti)
Ini adalah kode-golf , byte paling sedikit menang.
Contohnya
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
kemudian m<3
kemudian m<4
dll sampai saya menemukan jumlah yang sama n
. Juga, saya berpikir tentang memiliki jumlah 0
tanpa syarat, tapi lalu apa hasilnya? m>?
n = a[1]^b[1] + a[2]^b[2] + ... + a[k]^b[k]
.
a
dan b
adalah urutan panjang yang terbatas 0
, sehingga tidak ada bilangan bulat m
yang tidak memenuhi kendala, dan karena tidak ada bilangan bulat terkecil, jawabannya tidak didefinisikan. Kemungkinan perbaikan adalah meminta bilangan alami terkecil m
(dalam hal ini Anda harus mengubah jawaban yang diharapkan di sana 0
) atau untuk bilangan bulat positif terkecil m
.