タグ

mathとこれはすごいに関するimai_0707のブックマーク (2)

  • 正規表現で素数判定 - NO!と言えるようになりたい

    追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです 正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ この記事によると /^1?$|^(11+?)\1+$/ という正規表現を使うと,素数判定が出来るらしい.ある整数 n が素数かどうか判定したい場合は,"1" * nという文字列がこの正規表現にマッチするかどうかを調べればよく,マッチすれば非素数,マッチしなければ素数となる.ただし,"1" * n は,例えば,n が 4 ならば "1111" と 1 が 4 回連続して続く文字列となる. Rubyで書いた素数判定プログラムはこん

    正規表現で素数判定 - NO!と言えるようになりたい
  • 10秒で覚えられて計算がバツグンに速くなる方法 読書猿Classic: between / beyond readers

    ■補数って? 10、100,1000……から、ある数を引いた残りの数のことを(基数の)補数というが、今回の主役は、 それよりも1少ない、いわゆる減基数の補数(注)である。 10進数だと、ぶっちゃけ足して(各桁が)9になる数(の組)だ。 具体例を出すと「9-1=8」だから、8は1の補数である。いうまでもないが、1は8の補数である。 ■まずは「おつり算」 日常生活で最も多い計算は「おつりを計算すること」だろう。 これは補数を使った計算の第一歩にちょうどいい。 速算に 10000-3452=? を計算することは、3452の基数の補数をもとめることだけれど、 まず減基数の補数を求めちゃえばいい。そしてこれは次の方法で反射的にできる。 減基数の補数は基数の補数よりも1だけ少ないということを心に留めておくと、 次の表を覚えておく(というより反射的に出るようにしておく)だけで、 「繰り下がり」なんかに希

    10秒で覚えられて計算がバツグンに速くなる方法 読書猿Classic: between / beyond readers
  • 1