已知 p=120 有三解:{20,48,52}、{24,45,51}、{30,40,50}。
求 p ≤ 1000 使解數最多的 p。
答案:840。
// 核心邏輯:遍歷 a,b 計算 c = p-a-b,判斷 a²+b²=c²
// 完整代碼見附件/倉庫
字典序示例:0,1,2 → 012 021 102 120 201 210。
求 0~9 字典序第 100 萬個排列。
答案:2783915460。
// 核心邏輯:階乘數係(Factoradic)直接定位每位
// 9! = 362880, 1000000-1 = 999999
// 999999 / 9! = 2 餘 274239 → 第 0 位取剩餘數字[2] = 2
// 274239 / 8! = 6 餘 32319 → 第 1 位取[6] = 7
// ... 依次類推得 2 7 8 3 9 1 5 4 6 0
兩題均屬組合數學 + 編程實現,關鍵在於數學建模轉化為 O(N) 或 O(N²) 可行算法,而非暴力枚舉。