裏 RjpWiki

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

掛け算の筆算

2015年04月30日 | ブログラミング

掛け算を筆算で行うとき,0 ~ 9 までの数字をすべて使う筆算のうち,
掛け算の結果が最も小さくなるものを求めよ。

lim = 245 # 後で再設定した
min.ans = lim^2
for (i in 1:lim) {
  a = unlist(strsplit(as.character(i), ""))
  for (j in 1:lim) {
    n = as.numeric(unlist(strsplit(as.character(j), "")))
    b = c(a, n)
    for (k in seq_along(n)) {
      b = c(b, unlist(strsplit(as.character(i * n[k]), "")))
    }
    if (length(table(b)) == 10 && min.ans >= i * j) {
      min.ans = i * j
      if (j > 99) {
        cat(sprintf("\n\n%5i\nx%4i\n-----\n%5i\n%4i\n%3i\n-----\n%5i\n",
                    i, j, i * (j%%10), i * ((j%/%10)%%10), i * j%/%100, i * j))
      } else {
        cat(sprintf("\n\n%5i\nx%4i\n-----\n%5i\n%4i\n-----\n%5i\n",
                    i, j, i * (j%%10), i * (j%/%10), i * j))
      }
    }
  }
}

   18
x 245
-----
   90
  72
 36
-----
 4410




コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村