在一個神秘的國家,他們有不同的文明,他們所使用的數字表示法跟常見的 十進位法不一樣。對於一個十進位的數字 N,他們會表示成 abc,其中 a > b > c >= 0 ,且滿足 N= C(a, 3) + C(b, 2) + C(c, 1) , C 為二項係數,即 C(m, n)=m!/(n!(m-n)!),但當 m < n 時,C(m, n) = 0。為幫助了解這個神秘國度的文化, 請寫一程式來將十進位數轉換成這個神秘的進位法。
第一行有一個整數 m,1≤m≤10,代表要轉換的十進位數的個數。接下來的 m 行(第 2 行至第(m+1)行):每一行都有一個介於 0 和 500 之間的整數,代表 要轉換的十進位數。
條件說明 :
1. 所有數均為非負整數
2. 0 ≤ N ≤500。
針對每一個十進位數分別在一行輸出對應的 abc,其間不需留空白,注意 a、 b 和 c 未必是只有一位數,若答案不唯一時請輸出字典順序最小的表示法,即盡 可能取小的 a 及 b 值。
輸入範例 1: 4 0 1 2 200 輸入範例 2: 3 18 19 20
輸出範例 1: 210 310 320 1187 輸出範例 2: 542 543 610
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
44270 | toseanlin@gm ... (Dr. SeanXD) | a364 | 42 | 2024-11-19 08:15 |