看板 Math 關於我們 聯絡資訊
※ 引述《allenwlt (沒事)》之銘言: : 有一個四位數abcd 符合a*b*c*d=a*b^2+c*d^2 : 例如 1233 = 12^2 +33^2 : 問 此四位數有哪些 最大值又是多少? : 感謝大家 應該不是乘法 是普通的平方 設 10 <= x, y < 100 100x + y = x^2 + y^2 乘以 4 並配方可以得到 (2x-100)^2 + (2y-1)^2 = 10001 因此這是 m^2 + n^2 = 10001 的問題 ================ 以下是理論 看不懂可以跳過 =================== (Thm) p 質數, 則 m^2 + n^2 = p 有整數解 (m, n) 若且唯若 p = 2 或者 p 除以 4 餘 1 如果有整數解,則(m, n)是唯一解(不考慮交換和正負號的話) 這是有名的定理所以我懶的證(其實是很麻煩) 可以找 wiki 的 Fermat's theorem on sums of two squares 另外還有一個很明顯的 (Prop) (a^2 + b^2)(c^2 + d^2) = (ac-bd)^2 + (ad+bc)^2 這個證明用複數最直觀 把 (a+bi)(c+di) 炸開,然後取絕對值就結束了 這代表平方和乘上平方和仍然是平方和 最後由於 (Thm) Z[i] = { a+bi | a, b 整數 } 可以做「質因數分解」並擁有標準分解式(UFD) 這代表平方和一定可以往下拆,拆到變質數為止 =================== 因此可以得到以下的算法 =================== 質因數分解 10001 = 73 * 137 我們希望找到 a^2 + b^2 = 73 以及 c^2 + d^2 = 137 這可以直接暴力湊出 (a, b) = (8, 3) 以及 (c, d) = (11, 4) 現在考慮複數 (8+3i)(11+4i) = 76+65i (8+3i)(11-4i) = 100+i 其他組合都是重複的(乘上i的都不算) 因此可得 m^2 + n^2 = 10001 有兩組解 (雖然直接灌wolframalpha也會得到) (m, n) = (76, 65) or (100, 1) 後者基本湊不出 x, y 所以只有 2x-100 = +- 76 和 2y-1 = 65 因此 (x, y) = (12, 33), (88, 33) 兩組解 四位數只有兩種可能 1233 = 12^2 + 33^2 8833 = 88^2 + 33^2 最大的當然就是 8833 了 p.s. 我懷疑其實我寫過了(?) -- 嗯嗯ow o -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.14 ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1543925639.A.192.html