0-9を並べ換えた数が9!で割り切れる場合について
1243589760は0-9を並べ替えた10桁の数である.この数は 9! すなわち 1*2*3*4*5*6*7*8*9 で割り切れる.
1243589760=1*2*3*4*5*6*7*8*9*3427
他にもそのような数があるだろうか?
Prologのプログラム
上のような数を探索するPrologプログラムを書いてみた.
空白行を除くとたったの7行である.
puzzle :- P is 1*2*3*4*5*6*7*8*9, solve("123456789", "0", P, X), Y is X//P, write(X = 1*2*3*4*5*6*7*8*9*Y), nl, fail. solve(N0, N1, P, X) :- perm_append(N0, N1, Xs), number_chars(X, Xs), X mod P =:= 0. perm_append([], Ys, Ys). perm_append(Xs, Ys, [X|Zs]) :- select(Xs, X, Zs1), perm_append(Zs1, Ys, Zs). select([X|Xs], X, Xs). select([X|Xs], Y, [X|Ys]) :- select(Xs, Y, Ys).
0-9を並べ換えた数で,9!で割り切れる場合のリスト
0-9を並べ換えた数のうち,以下の73通りが9!で割り切れる.
1243589760=1*2*3*4*5*6*7*8*9*3427 1267539840=1*2*3*4*5*6*7*8*9*3493 1389467520=1*2*3*4*5*6*7*8*9*3829 1453697280=1*2*3*4*5*6*7*8*9*4006 1463857920=1*2*3*4*5*6*7*8*9*4034 1475832960=1*2*3*4*5*6*7*8*9*4067 1639854720=1*2*3*4*5*6*7*8*9*4519 1695738240=1*2*3*4*5*6*7*8*9*4673 2148975360=1*2*3*4*5*6*7*8*9*5922 2356179840=1*2*3*4*5*6*7*8*9*6493 2397548160=1*2*3*4*5*6*7*8*9*6607 2471938560=1*2*3*4*5*6*7*8*9*6812 2537619840=1*2*3*4*5*6*7*8*9*6993 2791635840=1*2*3*4*5*6*7*8*9*7693 2847519360=1*2*3*4*5*6*7*8*9*7847 2985413760=1*2*3*4*5*6*7*8*9*8227 3124759680=1*2*3*4*5*6*7*8*9*8611 3172659840=1*2*3*4*5*6*7*8*9*8743 3178465920=1*2*3*4*5*6*7*8*9*8759 3215479680=1*2*3*4*5*6*7*8*9*8861 3458972160=1*2*3*4*5*6*7*8*9*9532 3546789120=1*2*3*4*5*6*7*8*9*9774 3572916480=1*2*3*4*5*6*7*8*9*9846 3591786240=1*2*3*4*5*6*7*8*9*9898 3691578240=1*2*3*4*5*6*7*8*9*10173 3768145920=1*2*3*4*5*6*7*8*9*10384 3917652480=1*2*3*4*5*6*7*8*9*10796 4176385920=1*2*3*4*5*6*7*8*9*11509 4712359680=1*2*3*4*5*6*7*8*9*12986 4789653120=1*2*3*4*5*6*7*8*9*13199 4921378560=1*2*3*4*5*6*7*8*9*13562 4981253760=1*2*3*4*5*6*7*8*9*13727 5179386240=1*2*3*4*5*6*7*8*9*14273 5364817920=1*2*3*4*5*6*7*8*9*14784 5369172480=1*2*3*4*5*6*7*8*9*14796 5473681920=1*2*3*4*5*6*7*8*9*15084 5841279360=1*2*3*4*5*6*7*8*9*16097 5896437120=1*2*3*4*5*6*7*8*9*16249 6179483520=1*2*3*4*5*6*7*8*9*17029 6257139840=1*2*3*4*5*6*7*8*9*17243 6329715840=1*2*3*4*5*6*7*8*9*17443 6487931520=1*2*3*4*5*6*7*8*9*17879 6785493120=1*2*3*4*5*6*7*8*9*18699 6841739520=1*2*3*4*5*6*7*8*9*18854 6894357120=1*2*3*4*5*6*7*8*9*18999 7145832960=1*2*3*4*5*6*7*8*9*19692 7236915840=1*2*3*4*5*6*7*8*9*19943 7319652480=1*2*3*4*5*6*7*8*9*20171 7459361280=1*2*3*4*5*6*7*8*9*20556 7465893120=1*2*3*4*5*6*7*8*9*20574 7519236480=1*2*3*4*5*6*7*8*9*20721 7536291840=1*2*3*4*5*6*7*8*9*20768 7538469120=1*2*3*4*5*6*7*8*9*20774 7915864320=1*2*3*4*5*6*7*8*9*21814 7964853120=1*2*3*4*5*6*7*8*9*21949 8123794560=1*2*3*4*5*6*7*8*9*22387 8143752960=1*2*3*4*5*6*7*8*9*22442 8193467520=1*2*3*4*5*6*7*8*9*22579 8347691520=1*2*3*4*5*6*7*8*9*23004 8436597120=1*2*3*4*5*6*7*8*9*23249 8472159360=1*2*3*4*5*6*7*8*9*23347 8476513920=1*2*3*4*5*6*7*8*9*23359 8593724160=1*2*3*4*5*6*7*8*9*23682 8719643520=1*2*3*4*5*6*7*8*9*24029 8947532160=1*2*3*4*5*6*7*8*9*24657 9146753280=1*2*3*4*5*6*7*8*9*25206 9257431680=1*2*3*4*5*6*7*8*9*25511 9361578240=1*2*3*4*5*6*7*8*9*25798 9641358720=1*2*3*4*5*6*7*8*9*26569 9645713280=1*2*3*4*5*6*7*8*9*26581 9715386240=1*2*3*4*5*6*7*8*9*26773 9854732160=1*2*3*4*5*6*7*8*9*27157 9875416320=1*2*3*4*5*6*7*8*9*27214
9!で割った商が素数になるのは,上記のうち以下の9通りである.
1639854720=1*2*3*4*5*6*7*8*9*4519 1695738240=1*2*3*4*5*6*7*8*9*4673 2397548160=1*2*3*4*5*6*7*8*9*6607 3215479680=1*2*3*4*5*6*7*8*9*8861 5841279360=1*2*3*4*5*6*7*8*9*16097 5896437120=1*2*3*4*5*6*7*8*9*16249 6179483520=1*2*3*4*5*6*7*8*9*17029 6329715840=1*2*3*4*5*6*7*8*9*17443 8719643520=1*2*3*4*5*6*7*8*9*24029
最初の5桁が奇数の数字になっているのは,以下の3通り.
3591786240=1*2*3*4*5*6*7*8*9*9898 5179386240=1*2*3*4*5*6*7*8*9*14273 9715386240=1*2*3*4*5*6*7*8*9*26773