ネタバレを含んでいますよ.
ゴルフと水着ってどんな組み合わせなんでしょうね.おっさんの発想ですよねこれ.
何はともあれ安藤杏ちゃんに水着を着せます.
問題はN!の下位の桁にある0を全部取り除いた数字の下9桁を出力するものでした.桁がどうやっても足りないんですよね.なのでほとんどの解答では10で割りつつ下15桁くらいを取って計算していたようです.この解答もその方針でやっています.
poh7_mizugi.c
long v=1,r=1e9;main(n){for(scanf("%d",&n);v=v%10?v%(5*r)*n--:v/10;n||printf("%d",v%r));}
(88 bytes)
普通に計算を回すだけだと上品なコードになってしまいますね…….
悪いコードを書きたかったのですが,私の技量ではここまでのようです.
階乗のループを逆に回すと計算結果の保持に必要な桁数が減るような気がします.10の倍数が発生した時にに上位の桁が不正確になりますが,すぐに大きい数字が掛かるので不正確な桁が追い出されるんだろうと思います,たぶん.
あと,通らないNはそれなりに存在するんじゃないかと思います.確認していませんが.
きっとそのうち問題を解かない解答が出てくるんでしょうね…….