裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

数字の各桁の和と積

2017年04月07日 | ブログラミング

数字の各桁の和と積
http://quiz-tairiku.com/q.cgi?mode=view&no=18479

(1) 整数 N の各桁の数の和を新たな整数 N とする,という操作を何度も繰り返す。最初,N=2016^2016 とすると,最終的に 1 桁の整数になるが,その整数は?

library(gmp)
N = as.bigz(2016)^2016
for (i in 1:5) {
    N = sum(as.integer(unlist(strsplit(as.character(N), ""))))
    print(N)
}

答えは 9。
2016 は 9 の倍数(各桁の数字の和が 9 の倍数)。9 の倍数の羃乗は 9 の倍数(各桁の数字の和が 9 の倍数)。よって,各桁の和を取っていけば,いずれは 9 になる。

N = as.bigz(2017)^2017
for (i in 1:5) {
    N = sum(as.integer(unlist(strsplit(as.character(N), ""))))
    print(N)
}

答えは 1 になる。計算せずにわかるかな?

(2) 整数 N の各桁の数の積を新たな整数 N とする,という操作を何度も繰り返す。最初,N=2016^k とすると,最終的に 1 桁の整数になる。但し,k は 2016 以上の整数なら,なんでもよい。その「1 桁の整数になる」と答えた簡単な理由とともに答えよ。

N = as.bigz(2016)^9999
for (i in 1:5) {
    N = prod(as.integer(unlist(strsplit(as.character(N), ""))))
    print(N)
}

答えは 0。
どんな大きな数(?)からスタートしても,各桁には(いずれは) 0 が含まれることが期待される(??)。だとしたら,各桁の積は 0 以外にあり得ない。
しかし証明は?

コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« クロッシング・ワード | トップ | 数学の問題を R で解く(その3) »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事