Webであなたの夢が叶う! -82ページ目

Webであなたの夢が叶う!

Webを活用して一歩ずつ「夢」に近づきませんか?
みなさんのサポートブログです。    

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
今回はメルセンヌ数をご紹介します。

メルセンヌは、フランス人の修道僧で数学者。
才能豊かな人物で、
他にも哲学、物理学、音楽理論も研究していたそうです。

前回は、
エラトステネスのふるいをご紹介しましたね。
この手法で素数を発見できることはわかりました。

でも、
エラトステネスのふるいを使って
新しい素数を発見するのはどうでしょうか?

現在知られている最大素数は、
2013年2月に発見された「2の57,885,161乗 - 1」
で、桁数はなんと1,742万5
,170ケタといいます。

この巨大な素数は32のコアサーバーを使い、
Mlucasというプログラムを使って6日かかって
素数であることが証明されたということです。

ですから次の素数を見つけるために
エラトステネスのふるいを使うことは
現実的ではありませんね。

そこで、
ある程度の数の形を決めて、
その数が素数になっているかを調べるという
方法をとっています。
この数の形が
メルセンヌ修道僧の定めた
メルセンヌ数」です。

    M = 2n - 1
 

この形をした数で、しかも素数になっている場合、
Mを
メルセンヌ素数といいます。
ここでは、
nが素数なければ、Mも素数ではありません。
また、
nが素数だと、Mも必ず素数になるかというと
そうではありません。
ひとつひとつ調べなければならないのです。

    M = 2 - 1 =     7・・・素数
    M = 2 - 1 =   31・・・素数
    M = 27  - 1 = 127・・・素数
    M = 211 - 1 = 2047・・・素数でない
    M = 213 - 1 = 8191・・・素数
 
というように2047は素数ではありませんね。

さて、巨大な次の素数は
今度はいつごろ発見されるのでしょうか?

新しい素数の登場は、暗号化技術の発展にもつながる
すばらしい発見です。

2013年の発見時には、
3,000ドルの賞金が授与されたといいます。

みなさんも
新しい素数を見つけてみませんか?


今日も最後まで読んでいただいてありがとうございました。

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
今回はエラトステネスのふるいをご紹介します。

エラトステネスは今から2200年以上前に
エジプトのアレクサンドリアというところで
図書館の館長をしていた数学者です。

グノモンというL字型の定木を使って
地球の大きさを測った人物としても有名です。

その
エラトステネスが、数学の分野でも
素数を発見する手法を考案しています。
それが「
エラトステネスのふるい」です。

素数とは、
1と自分自身以外には約数を持たない数のことでしたね。
また、素数でない数のことを合成数といいます。

自然数をふるいにかけて素数と合成数にわける
という簡単な手法で、手順は以下になります。

① 奇数を昇順に並べて
   ふるいにかける数字リストをつくる
   (偶数は2で割り切れるので省く)

② 1は素数でも合成数でもない特別な数なので
   
ふるいにかける数字リストから省く。

③ 
ふるいにかける数字リスト
   トップに位置する数を素数リストに移動して、
   その数の倍数を
リストからふるい落とす。

④ ③の作業を
ふるいにかける数字リストの先頭値が、
   ふるいにかける数字リスト最大数の平方根に
   なるまで続ける

⑤ ④の用件を満たしたタイミングで
   残りの数を
素数リストに移動する

これで素数を見つけることができます。
単純ですが根気のいる作業ですね。

プログラムを組む人は、
Loopの勉強のときに
エラトステネスのふるい
課題として取り組んだ経験があるのではないでしょうか?

PHPで書くと、

<?php
function eratosthenes($max) {

    // maxの平方根
    $sqrt = floor(sqrt($max));

    // keyで配列
    $lists = array_fill(2, $max-1, true);

    // 倍数を取り除く
    for ($i=2; $i<=$sqrt; $i++) {
        if (isset($lists[$i])) {
            for ($j=$i*2; $j<=$max; $j+=$i) {
                unset($lists[$j]);
            }
        }
    }

    return array_keys($lists);
}
?>

となるでしょうか?


ちなみに・・・
NHKEテレの2355で、2~100までの数を対象にした
エラトステネスの篩」を中尾ミエさんが、
おやすみソングとして歌われていたようです。

またCDも発売中ということですので、
聴いてみたいと思います。


今日も最後まで読んでいただいてありがとうございました。

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
今回は九九について簡単にご紹介します。

私たち日本人は小学校の算数で九九を暗記しますね。
おそらくこのベースがあるから
暗算が速く正確にできるのだと思いますが、
小学2年生の時は自分の部屋だけでなく、
家中のあらゆるところに九九表を貼って、
暗記したのを覚えています。

学校から帰ると決まって母に
「6の段を言ってごらん!」
「7×4は?」
と声かけされて、
完全に覚えるまで容赦なく問題を出されたものでした。

日本の場合は、語呂合わせで九九を覚えるのですが、
アメリカやイギリスでは九九の表を見て、
そのままを暗記するそうです。

また、
オーストラリアでは九九ではなく12×12までを暗記、
インドではなんと
20×22という大量の数字を
暗記するようで、
語呂合わせだけでなく、
指を使った覚え方もあるそうです。

小学校を卒業して中学、高校へと進学すると
九九のありがたさが本当に理解できる場面が来ますね。

それは「約数」を使って素数を求めたり、
素因数分解したりするときでした。

素数は暗号処理に使うとお伝えしましたが、
基礎をしっかり押さえておくと、
日常のさまざまなことに応用でき、
暮らしが便利になりますね。


今日も最後まで読んでいただいてありがとうございました。


こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
今回はゼロ「0」について簡単にご紹介します。

私たちが普段使う数字はアラビア数字と言って、
 1 2 3 4 5 6 7 8 9 
の9個の数字から構成されています。
アラビア数字は
 漢数字  (一 二 三 四 五 六 七 八 九 十 ・・・)
 ローマ数字(Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ
 ・・・
よりも計算に適しているので算用数字とも言われています。

漢数字ローマ数字の特徴は、
「位どり」の概念がないこと。

2015というアラビア数字は、
 
漢数字では、二千十五
 
ローマ数字、MMXV
と表わされます。

アラビア数字では
右から数えて何番目に書かれているか、
1桁目、2
桁目、3桁目・・・に意味を持たせていて、
これを
「位どり」といいます。
この位どりのときに空きスペースの記号として、
ゼロ「0」が必要になってきます。

2015の場合、
右から3桁目が「0」になっていますが、
100の位が空いていますよ、という意味になります。

従って、
位どりの必要のない
漢数字やローマ数字にはもともと
ゼロ「0」は存在していませんでした。

アラビア数字に「0」の概念が取り入れられたのは、
アラビアがインドを征服した8世紀ごろだと
言われていますので、
それ以前に数字が発達したローマでは
「0」が存在しなかったということです。

私たちに身近なアラビア数字、
便利なだけでなく機能的で、
進化した数字なんですね。


今日も最後まで読んでいただいてありがとうございました。

こんにちは。
Webであなたの夢が叶う!のHirokoです。

出張先で面白い出会いがありましたので、
ここで簡単にご紹介したいと思います。

みなさんは普段、どんな数字をよく使っていますか?
時間に関する数字は60進数、
お金に関する数字は1
0進数、
コンピュータに関する数字は16進数、2進数、
このように、位どりの違う数字が私たちの周りにあって、
それぞれその役割を果たしています。

小学校ではじめに習う数:
10進数をみてみると、
1から始まって、順に1を足していくことで
2になり、
3になり、
次の数字をつくることができます。
私たちが物の数を数えるとき、自然に使っていますね。

この数のことを「自然数」と言うのですが、
自然数には必ず次の数があって、
終わりの数はありません。

すなわち無限、
∞の記号で表わされていますね。
自然数の無限のことを「アレフゼロ」と表わすこともあります。

自然数はその数のもつ性質によってグループ分けできます。
一般的なのは、
 ・奇数(
「2」で割って余りが出る数
 ・偶数(
「2」で割りきれる
がありますね。
また、3,5,7などの数字で割ったものを
グループにすることもあります。
 ・約数(ある数を割り算して割り切れた場合、
              その割った元の数)
 ・倍数(↑逆に約数から元の数を見た場合の数)
となります。
そして、
 ・素数(1と自分自身以外には約数を持たない数)
があります。
素数は、いろいろな分野に応用されていて
コンピュータの分野でも暗号処理に使われています。

自然数をいろいろなフィルターに通してみてみると
今まで見えてこなかった数字の秘密が明らかになるようですね。

Webサイトの見方を変えて、
少し頭の体操しませんか?


今日も最後まで読んでいただいてありがとうございました。