2010 年 6 月 のアーカイブ

倍数判別ロジックの高速化

2010 年 6 月 14 日 月曜日 by 山平

前回、3と7と11の倍数かどうかを判別するプログラムを作成しました。
最初から分かっていたことではありますが、単純に剰余を求めるよりも計算に時間がかかってしまうのです。
人間が計算する場合は、桁数が多いと計算が大変だったり計算ミスが発生してしまったりするので、倍数判別を行なったほうがミスが減ることが期待できます。
しかし、コンピュータに計算させる場合、各桁を足したり引いたりする行為のコストが大きいため、単純な剰余の方が効率が良いのです。

今回は、前回のプログラムをもうちょっと早くできないか試行錯誤してみました。

(続きを読む…)

さんすうRuby - 3と7と11の倍数

2010 年 6 月 14 日 月曜日 by 山平

事の発端は先日見かけたサイトでした。

No.055 「111」は「3」の倍数

1 + 1 + 1 = 3なので、111は3の倍数なんだそうです。

えっ、そうなの?と思って読んでみると、証明まで載っています。
ナルホドォ~興味深い。。。
興味深いついでに、プログラムで確認してみたくなったので、早速Rubyで実装してみます。

倍数の判定方法が興味深く、素数でもある3と7と11について試してみることにします。

(続きを読む…)