Talimatlar
Bir girdi tamsayı n ( n >= 0
) verildiğinde , en küçük pozitif tamsayı m çıktısı veren bir program yazın, burada:
n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k]
a
veb
aynı uzunlukta sonlu dizilerdir- tüm elemanları
a
daha azm
- tüm elemanları
b
daha azm
- tüm unsurları
a
olan farklı ve tam sayılara[x] >= 0
- tüm unsurları
b
olan farklı ve tam sayılarb[x] >= 0
a[x]
veb[x]
her ikisi de 0 değildir (0 ^ 0 belirsiz olduğundan)
Bu kod golf , çok az bayt kazanır.
Örnekler
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
o m<3
zaman m<4
vb n
. Eşit olan bir miktar bulana kadar . Ayrıca, toplamı 0
terim olmamasını düşündüm , ama o zaman çıktı nedir? m>?
n = a[1]^b[1] + a[2]^b[2] + ... + a[k]^b[k]
.
a
ve b
sonlu uzunluk dizileridir 0
, bu nedenle m
kısıtlamaları karşılamayan bir tamsayı yoktur ve en küçük tamsayı olmadığından cevap tanımlanmamıştır. Olası düzeltmeler, en küçük doğal sayıyı m
(bu durumda beklenen cevabı değiştirmelisiniz 0
) veya en küçük pozitif tamsayıyı istemektir m
.