タグ

素数に関するmeganetaaanのブックマーク (6)

  • PHPで素数を数えて落ち着いてみた - hnwの日記

    2,3,5,7,11,13,...と素数を順に列挙することで落ち着く人が世の中にはいるようです(参考:「素数を数えて落ち着くんだ…」)。とはいえ人力では素数を100個列挙するのさえつらいので、プログラミング言語に頼った方が落ち着けるはずです。PHPには、そんな状況で使えそうな関数が存在します。 gmp_nextprime ― 次の素数を見つける PHP: gmp_nextprime - Manual よし、この関数さえあれば落ち着けるぞ、と思いきや、マニュアルにはこんな記述もあります。 注意: この関数は素数を識別するのに確率的アルゴリズムを使用します。 誤って合成数を取得してしまうことは、まずありません。 PHP: gmp_nextprime - Manual えっ?「まずありません」ってことは少しくらいはあるんでしょうか。逆に不安で落ち着かなくなってしまいそうです。 稿ではこの関数に

    PHPで素数を数えて落ち着いてみた - hnwの日記
  • 素数トランプを2つ並べてみたらすごかった - ゆかたんブログ

    素数トランプを手に入れました。 こんなんです。 裏返すとこんな感じです。 一見、ふつうのトランプです。 真ん中に「23」って書いてあるのは、KANのデビュー23周年記念ツアーのグッズだからです。 さて、素数トランプの中身を出してみます。 1,2,3…普通のトランプです。 さらにめくります。 5…? あれ? 4がないぞ。 ふむ。 とすると、5の次は… 7... 11... …11 ? 11は「J」じゃないのか。 さらにその先のカードを並べてみます。 ふむ。 これが数字の札、ふつうのトランプでいう「1(A)」~「10」までです。 さらに、絵札があります。 絵札は普通だった。 絵は。 まぁそんなわけで、全部、素数のトランプなんですね。素数トランプ。 七並べふうに全部並べるとこんなかんじです。 なんか、みっちりしてる… でも、ゲームには意外とつかえます。スピードと大富豪をやってみましたが、意外とイ

    素数トランプを2つ並べてみたらすごかった - ゆかたんブログ
    meganetaaan
    meganetaaan 2014/03/09
    素数だ!素数だー!!ほしい。
  • 素数判定 - あどけない話

    要約:素数判定に使われるミラーラビン法を解説しながら、Haskell で実装してみる。 フェルマーテスト 大きな数を確実に素数だと判定するには、大変時間がかかるので、実用的には「ほぼ素数だ」と確率的に判定する。確率的な素数判定の代表格がフェルマーテストである。 フェルマーテストには、以下に示すフェルマーの小定理を利用する。 a^p ≡ a (mod p) a は任意の整数。p は素数である。法 p の下で a を p 乗したものは、a と合同であると言う意味だ。a には制限はないが、特に a を p より小さい整数、0 ≦ a ≦ p - 1 とすれば、a を p 乗して、p で割ると a に戻るとも解釈できる。 最初に見たときは、だからどうしたと思われるかもしれない。しかし、有名なフェルマーの大定理が実用上何の役にも立たないのに対し、フェルマーの小定理はいろんな場面で活躍する。 実際に計

    素数判定 - あどけない話
  • あっ、急に素数が必要!でも大丈夫 – はむかず!

    @hamukazu 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567969 — 素数生成ボット(ベータ版) (@primenumber_bot) November 26, 2013 例えばこんなときに: RSA暗号の鍵ペアを手動で作りたくなったとき(公開でツイートするからセキュリティ筒抜けですけどね!) おしゃれな自作Tシャツのデザインに お守りに入れて魔除けに クリスマスに素数のプレゼントはいかがですか? 以下解説 これは有名なMiller-Rabinのアルゴリズムというのを使っています。大きな数の素数判定でもわりと高速に計算できます。Miller-Rabinのアルゴリズムについては、ウィキペディアの解説

    meganetaaan
    meganetaaan 2013/11/27
    やあ、これは有難い
  • 今年の素数日を計算してみる - Qiita

    2012年の素数日は以前計算したのだが、今年2013年の素数日も計算してみる。 前のコード、コマンドライン第1引数を年と解釈して計算するように仕様を変えた。 import Data.Time.Calendar import System (getArgs) isPrime n=not $ or $ map (\a->n `mod` a==0) $ takeWhile (\i->i*i<=n) [2..] primeDays y=map (\a->filter (/= '-') $ show a) $ takeWhile (< fromGregorian (y+1) 1 1) $ iterate (\d->addDays 1 d) $ fromGregorian y 1 1 main=do args<-getArgs case args of y:_ ->mapM_ (\a->putStrL

    今年の素数日を計算してみる - Qiita
  • オックスフォード白熱教室「素数の音楽を聴け」を100倍楽しもう! -マーカス・デュ・ソートイ教授 | ShareWis Press(シェアウィズ プレス)

    世界一著名な数学者、オックスフォード大学のマーカス・デュ・ソートイ教授。 この先生の数学の授業がNHKでオックスフォード白熱教室として放送されています。 オックスフォード白熱教室(Wikipedia) ソートイ教授の著書に「素数の音楽」というものがあります。 オックスフォード白熱教室の第1回目ではこの素数の音楽を元に「素数の音楽を聴け」という授業が放送されたのですが、素数の魅力を伝えるとても面白い授業でした。 非常に分かりやすく説明されているのですが、まったく前提知識がないよりは、少し素数に関する知識があった方がより楽しめるのではないかと思います。 そもそも素数って何?素数とは1とその数でしか割れない自然数のことです。 そして、全ての自然数は素数の掛け算で表わすことができます。 例えば、100は2が2つと5を1つ掛けあわせたものですし、 42は2と3と7を掛けあわせたものです。 具体的には

    オックスフォード白熱教室「素数の音楽を聴け」を100倍楽しもう! -マーカス・デュ・ソートイ教授 | ShareWis Press(シェアウィズ プレス)
    meganetaaan
    meganetaaan 2013/10/29
    u[ •‿• ]u
  • 1