PEをMathematicaで

Project Eulerに挑戦してみよう

算チャレ第1021回を解いてみた

ある4ケタの整数があり,次のような性質を満たしています。

(性質)各ケタの数字を並べかえて作ることのできる整数のうち最大のものから最小のものを引くと,もとの整数になる。

例えば1345という数は「1, 3, 4, 5」の4つの数字で出来ていて,これらを並べ替えてできる最大の整数は5431,最小の整数は1345で,その差は
5431-1345=4086
となり,条件を満たしませんね。

では,上記の性質を満たす4ケタの整数を求めてください。

http://www.sansu.org/used-html/index1021.html


ひさしぶりに算数チャレンジさんを見てみたら,Mathematica 向きの問題があったので解いてみました。
www.sansu.org

IntegerDigits で桁ごとに区切って Sort するだけなので,一瞬で答えが出ます。6174でした。

これで終わってはつまらないので,検索範囲を広げてみました。10^8以下で探すと,条件をみたす数は3桁に1個,4桁に1個,6桁に2個,8桁に2個あることがわかります。