ネットで見かけた以下の問題
「自然数のうち、3乗すると下3桁が999になるものを1つ挙げよ」
ここ数年のマイブームである制約論理ライブラリを使うと一瞬で解けます。自分が使っているのはSWI-PrologのCLPFDライブラリなのですが、プログラムは以下のみ
X in 1..9999999999999999,X^3 mod 1000 #= 999,label([X]).
実行結果は以下
X = 999 ;
X = 1999 ;
X = 2999 ;
X = 3999 ;
X = 4999 ;
X = 5999 ;
X = 6999 ;
X = 7999 ;
X = 8999 ;
X = 9999 ;
X = 10999 以下Xが9999999999999999になるまで延々と続く
こういう問題を大量に解く必要がある案件があれば是非弊社にお問い合わせ下さい!笑