題目連結:
題目大意:
輸入給定一正整數 N(90 ≦ N ≦ 1500),代表密碼鎖顯示的數字。試問解碼後的密碼為何?
解碼方式如下:
當存在 n1 、 n2 、 n3 、 n4 、 n5 這五個數字(0 < n1 < n2 < n3 < n4 < n5 ≦ 30),並且有
a1 = 20 × n1
a2 = n2 ^ 2
a3 = 3 × n3
a4 = 4 × (n3 + n4)
a5 = 5 × (n5 - n4)
滿足 a1 + a2 + a3 + a4 + a5 = N,代表 n1 、 n2 、 n3 、 n4 、 n5 這五元數組可以構成 N 。
如果有 c 個五元數組滿足上式,則密碼即為 c ^ 3 之值;如果沒有五元數組滿足,則密碼為 5 × N - 3。
範例輸入:
範例輸入 #1
96
範例輸入 #2
300
範例輸出:
範例輸出 #1
125
範例輸出 #2
41781923
解題思維:
就是單純地五層的巢狀迴圈每層分別窮舉 n1 、 n2 、 n3 、 n4 、 n5,然後依序求出 a1 、 a2 、 a3 、 a4 、 a5 看總和是否為 n。
然後看有多少組總和為 n,即為 c 值。最後根據題意利用 c 值計算所求即可。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。