裏 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でシェアする
« 2 進数の 1 の数 | トップ | 小難しい方法でフィボナッチ... »
最新の画像もっと見る

コメントを投稿

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