整数の割り算


整数aと正の整数bに対して

a = bq + r, 0≦rb

を満たす整数qrがただ1通りに定まる。


任意の整数a(…, -2, -1, 0, 1, 2, …)を任意の正の整数b(1, 2, 3, …)で割ると、商qと余りrが1通りに定まるというところでしょうか。余りの条件を 0≦rb とするのがミソですね。

14÷4で、ちょっとイメージしてみると、

14=4×3+2のイメージ

たしかに、数直線を4刻みでみてみると、ある整数を表す点は、このばあい 14 = bq + r = 4×3+2 (0≦rb) みたく、一通りに定まりそうです。

サイコロで1が100回連続ででるのは許されない問題

まぁ、問題というほどではないのですが、サイコロを100回ふって、1が100回連続ででる確率は当然、(1/6)^100つまり、1÷6=0.1666…の100乗、すなわち1.530…e-78=0.0000(ゼロが78個つづく)0001530…という確率です。

ほぼ確率0ですけど、宇宙が何回か生まれ変わるあいだずっとサイコロを転がしてればあるのかなという、ごくわずかな確率ですがゼロではないと…

で、ゼロでないかぎり奇跡的に”起きてしまう”ことはあると思うのですが、そうしたらそういう”奇跡のサイコロ”は”おかしい”とか”不良品”とか”細工がしてある”とかみなされて社会的には正規のサイコロとしては通用しないですよね…

まぁ、だからどうしたといわれれば困るんですが、あえてまとめれば、ありえないほどの”奇跡的な偶然”はたぶん社会的に”ありえない”とされて、許されないだろうという…


サルにでたらめにタイプさせたら、シェイクスピアのハムレットを奇跡的に打ってしまったとか…まぁ、わたしもそんな主張をする人がいてもとうてい信じられないんですが…

中学数学で二等辺三角形がでてきたら…

・2つの辺が等しい(定義)

・2つの底角は等しい

・頂点から底辺におろした垂線は、底辺の垂直二等分線となる

この三つの性質は同値です。つまり、ある三角形について、上記のどれかひとつが言えれば、そのほかの二つの性質も数学的に導けます。実際、頭の中で一瞬で導けるようにしておくことをお勧めします。

そして、図形問題で上記3つの性質のどれかをもつ三角形にであったら、「あっ、この三角形は二等辺三角形だな」と思い、この3つの性質を自由自在に利用できるようにならなければいけません。


3つの辺がすべて同じ長さの三角形つまり、正三角形もじつは二等辺三角形であり、とうぜんこの3つの性質をみたします。どこを頂点とみなすかにより底角とみなせる角が変わるため、結果として、3つの角が60°で同じにならざるをえないんですね。

はじめて虚数を知った時の違和感

まず、高校数学ではじめて虚数単位iを知り、i^2=i×i=-1といわれるとたいていの人は違和感を感じると思います。

なぜなら、それ以前には、数といえば有理数無理数からなる実数までしか知らず、2乗して負の数になる実数は存在しないことを知っているからです。

その違和感に対する答えは、

「虚数は実数ではない」

です。さらに図形的にイメージすると、実数を表す数直線があるとして、虚数はその数直線上の数ではないのです。

で、高校数学では実数と虚数からなる複素数に数の概念を拡張し、図形的には複素数平面というものでイメージを行います。

数の概念のひろがりってたぶんこれからさらに数学が発展するにしたがってもっと大きくなるんでしょうけど、どこまでひろがるのだろうとちょっとワクワクします。

”三角関数の合成”の不思議

三角関数の合成は高校数学のⅡで勉強します。数式で書くと以下のような見た目です。

asinθ+bcosθ=rsin(θ+α)

sinの加法定理を使って説明できます。で、それは置いといて波としての見た目だけでどう感じるかというと…

正弦波

こんな波が少し横方向にずれて2つあったとして、それを足して重ね合わせるとまた一つのきれいな波になるって…すごくミラクルな感じがします…

またこのエントリもポエムになってしまいました(笑)



sinとcosの関係

[mathjax]

というと、まっさきに私の頭に浮かぶのは、

$$sin^2θ + cos^2θ = 1$$

なわけです。昨日、sinの加法定理を導出しようとして、

cos(α ± β) = cosα・cosβ ∓ sinα・sinβ

まで、単位円を描いてそれに余弦定理を使ってひねくりだせたんですが、これをsinの加法定理に簡単に変換できた記憶があったのにそれを思い出せなかったんですね。

結論から言うと、

cos(90°-θ) = sinθ, sin(90°-θ) = cosθ

この関係を使うわけです。

sin(α+β) = cos(90° – (α+β)) = cos90°・cos (α+β) + sin90°・sin(α+β) = sin(α+β)

となって、アレ??となるので…

sin(α+β) = cos(90° – (α+β)) = cos((90° – α) – β) = cos(90° – α) ・cosβ + sin (90° – α) ・sinβ = sinα・cosβ + cosα・sinβ

となります。

おもしろいなぁ、sinとcosの変換に cos(90°-θ) = sinθ, sin(90°-θ) = cosθ を忘れないようにしようと思いました。私は三角関数の符号は頭の中で単位円上の点を思い浮かべてそれのx値がcos、y値がsinとしてます。

xのy%はyのx%

xのy%を数式で表すと、x × (y ÷ 100) ですね。y ÷ 100 の部分がy%を表しています。で、この式を意味は同じまま変形して、 y × (x ÷ 100)としてやることができます。で、この式を日本語にもどすと、y の x%と読むことができます。

つまり、xのy%はyのx%であると。

75の4%というと、アレいくつかなとなりますが、4の75%(つまり4の4分の3)で、答えは3とウマいハックですね。

下記のサイトで知ったのですが、たしかにそうだなと面白く思いました。

数字を入れ替えるだけ!?パーセント(%)を求めるの計算が楽になる方法が海外で話題に

数学的帰納法の面白さ

まず、あなたが自然数一般(1, 2, 3, …)nについて成り立ちそうな何らかの等式を思いついたとします。でも、ラマヌジャンのようにそれは天から降ってきたようなもので、左辺と右辺をいくら式変形していじくっても左辺=右辺の正しさを証明できそうもない…

で、とりあえず、n=1のときは成り立つのを手計算で確認します。おしおし、やっぱり正しいかもしれない…ということで、仮にn=kのときにその等式はなりたつものと勝手に仮定します。この勝手に仮定した結果としての等式を道具として、n=k+1のときにも等式が成立することを示すことができたとします。

そうするとn=k=1のときは等式は成り立つので、n=k+1=1+1=2のときも成り立ってというふうに、バララララ~とすべての自然数についての証明ができてしまうという…

私はこの勝手に仮定してしまって、さらにそれを基礎としてk+1の場合を考える感じがすごく面白いと思っています。

ベクトルが面白い

ベクトルが最近面白いです。

向きと大きさをもつモノという抽象化で、位置が含まれていないところがなんかスゴイなと…

で、位置が含まれていないのに(もしくは、だからこそ)、位置ベクトルというものがキてるなと…

もちろん、教科書の演習レベルの問題は解けるのですが、それだけじゃ面白くないので、もっと深掘りして考えています。

また、ベクトルに座標が加わるとさらにミラクルな感じがします。

直線の各種ベクトル方程式なんかも、頭の中でその導出ができるくらい考えています。

ベクトルを1つの座標で表すときの始点は

2, 4, 8, 16,… の倍数判定法

高校の数学Aの教科書に、ある自然数Nが2の倍数かどうかを判定する方法が説明されていて、

Nの一の位の数(0~9)をaとすると、適切に負数でない整数kを選べば、

N=10k + a

と表現できて10kは必ず2の倍数なので、一の位の数のaが2の倍数かどうかだけ見ればNが2の倍数かどうかを判定できるというものが説明されています。

で、ある自然数Nが4の倍数かどうかを判定するときは、おなじような方法で、

N=100k + a

として、下2桁aが4の倍数かを調べればよいとされています。

で、練習問題に8の倍数を判定する方法を答えよとなっているわけです。

教科書にこういう感じで問題がでてくるときは、直前の方法を使ってその延長線上で解けることがおおいです。

で、結論からいうと1000は8の倍数なので、8の場合は下3桁を調べればよいわけです。

で、ちょっとおもしろいなと思ってその仕組みみたいなのを考えてみました。

8=2×2×2

これが、10とか100とか1000とかの約数ならおいしいわけですね。

で、2というのは5を掛けると10になってくれるので、

8×5×5×5=(2×5)×(2×5)×(2×5)=10×10×10=1000

この感じで、2^n は10^nの約数なので、ある自然数Nが2^nの倍数かどうかの判断は、下n桁だけ見ればよいとなります。

数学に詳しい方ならわらっちゃうほど簡単なことなんでしょうけど、私はこれを”発見”してすこしうれしかったです。

プログラミングでアルゴリズムに落とし込むとしたら、もっと効率的なのがあるのだなとちょっとウェブをサーチして思いました。

倍数と約数

倍数と約数は自然数(1, 2, 3, …)で考えると自明といえるほどわかりやすい概念ですが、高校数学では整数(…, -2, -1, 0, 1, 2, …)に拡張して考えます。

で、私もいろいろ0がからむときとか混乱が生じたんですが、最終的に、

a=kb

という等式に、適切な整数をa, k, bに入れてそれが成立すれば、aはbの倍数、bはaの約数と理解すればよいというところにたどり着きました。(教科書にはなから書いてあるのですが理解が追い付かなくて(笑))

この考え方からすると、a=0, k=0, b=任意の整数とすると、0はすべての整数の倍数といえることなど興味深いことがわかります。

で、a=0, b=0とすると、kが何であっても等式は成立するので0は0の約数と考えられるということになります。約数というとなんか割り算的な雰囲気があるので、0で割るという数学のタブーを犯している感じがあって、wikipediaによるとたしかに0の約数に0を含める考え方と除外する考え方があるようです。

いや~、数学は面白いな…という感覚を味わっています。受験と関係なく数学に出会いたかった…

三次元空間では垂直≠直交

たぶん私が現役の中高生だったころは、区別できていたんでしょうけど、数年前に教科書を読みながら数学を思い出すまで、この違いをすっかり忘れていました。

端的に言うと、3次元空間でねじれの位置にある2直線が垂直であることもありえるということですね。ただこの2直線は直交するとは言えません。


たしかに数研出版の高校生向け数学の教科書の記述では、上記のように理解できるのですが、高等数学ではもっといろいろあるのかなとWikipediaの記述を読んで思いました。

n(A∪B)の考え方ハック

結論として、集合論において、Aという集合の要素数をn(A)と表記すると、

n(A∪B) = n(A) + n(B) – n(A∩B)

なのですが、その簡単なイメージです。ベン図を使えばよいのですが、手軽に書けるものがないので文章にします。

ベン図において、集合Aは円によって表現されます。で、このAを表す円を色紙を円形に切り取ったものとするのです。

で、集合Bも同じように円形の色紙とします。

そうすると、まんなかのA∩BはAとBの2枚の色紙が重なっているとみなすことができます。

Aを表す円形の面積がn(A)と対応しているとすると、n(A) + n(B) はn(A∩B)の部分の面積を1つ余分に足してしまっていることになるので、A∪Bの面積すなわちn(A∪B)を計算するときは、2枚重なっているA∩Bの部分から、1枚n(A∩B)をひくわけです。

n(A∪B∪C)も同様のイメージで導けます。

関数を表現する3つの方法

中学では、比例、反比例、一次関数、二次関数などの関数(xに入れる数を決めるとそれに従ってyの数が決まるもの)を扱います。

こういうxとyの関係を表す方法には3つあります。

・言葉による表現 :  yはxに比例し、比例定数は2である。

・数式による表現: y = 2x

・グラフによる表現:

中学生が解かなければいけない問題では、この3つの表し方を自由に行き来することを求められます。例えば、”yはxに比例し、比例定数は3である。yをxの式で表しなさい”などです。

理解とは??

最近、鈴木貫太郎先生がYoutubeで公開なされている数学の問題を気が付いたときに解いてみたりするのが楽しくなってきています。

 

上記の動画で面白いエピソードが紹介されていて、鈴木先生はつねづね、小学生に”なぜ円錐とか錘の体積が円柱とか柱の体積の1/3になるか”をどう説明するか悩んでいらっしゃったそうです。

で、あるとき別の教室でその説明を小学生にしかけている講師の方がいらっしゃって、鈴木先生は自分の講義をしなければならなくて聞き逃したので、あとで、その講師の方にどう説明したのか尋ねたそうです。

「ええ、錘以外の部分が柱の2/3の体積になるからです」

…まぁ、私も鈴木先生同様に、
「ぶっちゃけ、コイツやべーだろ…」
と思うのでしょうけど…

しかし、もしそのレベルの目くらましみたいな説明で小学生が納得するのなら、それも最終手段としてアリなのかなと最近は感じています。

三角形の合同条件と辺と角の公式

三角形には合同条件が三つあり、これは中学で習います。

二つの三角形は次のいずれかの合同条件がなりたてば合同つまり、形も大きさも同じです。

つまり、三つの合同条件は三角形の形と大きさが確定する条件を表しています。

・一つの辺とその両端の角が同じ

・二つの辺とその挟む角が同じ

・三つの辺が同じ。

ある三角形が持つ人間が興味を持ちそうな情報をざっくりいうと”三つの辺の長さと三つの角の大きさ”と言えそうです。で、上記の合同条件の一つが分かれば、三角形が特定されるので、この”すべての情報”を取り出すことができるか…。

まず”一つの辺とその両端の角が分かった場合”ですが、三つ角があって、合計180°で、そのうち二つが分かったら、残りの一つの角も確定しています。そうすると、正弦定理を使って、残り二つの辺も確定します。

つぎに”二つの辺とその挟む角が分かった場合”は、余弦定理により三つ目の辺が確定し、さらに余弦定理を使えば残り二つの角も確定します。

最後に”三つの辺が同じ場合”は、余弦定理を使えば一つずつ角を特定することができます。

つまり、三角形という図形となる以上、その辺と角には満たすべき制約もしくは条件がなりたっていて、それが正弦定理と余弦定理で表現されていて、三つのうちどれかの合同条件が確定すれば、”すべての辺と角の情報”を取り出すことができます。

ベクトルを1つの座標で表すときの始点は

簡単のために、1次元の数直線で考えます。

数直線上のある一点(始点)からある一点(終点)までを、向きと大きさをもった新しい概念である”有向線分”というものとします。

例えば、始点(+10)から終点(+12)までの有向線分は、数直線上でプラスの向きをもった、大きさ2の有向線分です。

また始点(+5)で終点(+2)の有向線分は、マイナスの向きで、大きさ3を持ちます。

つまり、有向線分は始点と終点によって定められ、向きと大きさをもちます。

これをさらに抽象化して、向きと大きさだけを区別して、どこが始点や終点でも、向きと大きさが同じなら同一物とすると、ベクトルの概念が得られます。

これにより、始点(+10)で終点(+12)の有向線分と、始点(-2)で終点(0)の有向線分はベクトルとしてみると、プラスの向きと大きさ2を持つ同一ベクトルであるといえます。

このように有向線分がベクトルとして見て同値なら同じ表現になるように表すやり方として、始点を原点に固定すると、すべてのベクトルは終点の座標だけで表すことができます。

有向線分から向きと大きさだけをとりだしたベクトルという概念を単純に表したい…、そうや、始点を原点に固定したろってなもんです。

こうすると、終点1つの座標だけで、始点は常に原点なので、大きさと向きだけを問題にするベクトルを表すことができます。先ほどの2つの有向線分の例は、ベクトルとして表すと(2)と同一の座標で表せます。(プラスの向きをもって大きさ2だけを表すことに成功しています)

そして、座標を使ってベクトル同士の演算なんかをすると、結果として1つの座標が得られますが、この座標は、原点(0)を始点としこの座標を終点とするベクトルとして正規化された有向線分です。




コンピュータ(CPU)でなぜ負の整数の表現として2の補数を使うか

2の補数というのは何かという説明はWikipediaに譲るとします。

結論から言うと、CPU(ハードウェア)的には単なる符号なし整数の加算・減算を行っているだけなのに、人間側の解釈の仕方だけで正負の数の加算・減算を扱えるようにするためです。

いまCPUレジスタ1バイト長であるとします。で、16進数で符号なし整数0xFF(十進数で255)に1を足します。そうすると桁あふれが起こって結果としてこのレジスタの値は0(ゼロ)になります。

0xFF(255) + 1 = 0x100(256) = 0x00  [レジスタは1バイト長固定]

ここでです、もし、人間側が勝手に”1バイト長でのレジスタの値0xFFを-1という意味としよう”と決めたとします。なぜそんなことをするかといえば、そう解釈すると、

0xFF(-1) + 1 = 0

となり、都合が良いからです。

この調子で、0xFEを-2と勝手に解釈すれば…

0xFE(-2) + 2 =  0

おお~、よいですね。

では、符号なし整数で0xFE(254) + 1 = 0xFF(255)ですが、我々の符号付の解釈では…

0xFF(-2) + 1 = 0xFF(-1)

うまくいく!

とまぁ、こんな風に、符号付の計算だけのためのハードウェアをわざわざ用意しなくても、人間側の解釈だけで正負の数が表せるのが2の補数表現のうまみです。

「数式ということばじゃないと正しく伝わらない」問題

趣味で、初期仏典や聖書、コーラン、ヨガのギータなんかを乱読しているんですが、やはり自然言語によっていかに良いことを伝えようとしても、千年もすると(故意かどうかは微妙ですが)すっかり内容と逆のことを読み手が勝手にやりだすという事例を多く見聞きします。

たとえば、釈迦は「異性関係は人間の生殖にかかわる本質的な欲望なので、むやみに淫らにならないように、(男性の弟子が多かったので)女性には気を付けろ」というようなことを折にふれて語っていたり、「肉を食うからなまぐさと言うのではない、友人のカミさんと陰で一発やってそ知らぬふりをしているのを生臭というのである」なんて言ったりしています。

これが数千年たって、仏教がインドから中国、さらに日本へとくると何が起こったかと言うと…

「異性関係は気を付ける」→「女はやばいらしい」→「女とヤるのはよそう」→「男とヤればいい」

なんでだよ(笑)wwwwwwwwwww

たとえば、日本の寺関係の隠語で「幼い小僧」への性的表現がかなりあるとか、仏教僧を紹介する書物で、「この僧は女性との性関係をもたなかった、さらに男性との性関係ももたなかった」ということが”珍しい人”として紹介されていたり。

またキリスト教でもアメリカでカソリックの神父による幼児への性的虐待が社会問題になっていてバチカンはたしか総額数千億レベルの訴訟を抱えていると聞きました。

残念ながら、釈迦、イエス・キリスト、ムハンマドなど名だたるセイント(聖人)たちは、失敗したと言わざるを得ません。

釈迦だって、大悟をしたあと一度はそのまま死ぬ気だったのですが、まぁ、神話的表現にあえてしてますが、梵天に請われて世に「我は仏陀である」と大見得をきって宣言して、「人々の苦を滅しよう」という意図を持ったはずです。

だいたい、釈迦などがいう煩悩のコントロールは、よく釈迦本人も「激流を泳いで渡るほど難しい」と自分で言っていますし、「煩悩の激流を渡りきるものは数少ない」と言っています。

しかし、いったん社会的リーダーになろうと決意したのなら、所定の訓練をつめば、ほぼ九割以上の人が煩悩のコントロールができるようになるような訓練メソッドを残して、その結果、人類が戦争をしなくなったというような”結果”が欲しかったところです。

「激流渡り水泳スクール」っていって生徒を集めていて、激流を渡れるようになるのはほんの数人っていうのは許されないと思います。

みなさんにおなじみの日本の仏教者で一休さんという方がおられました。

その一休さんは、次のような言葉を残しておられます。

「釈迦といふ いたづらものが世にいでて おほくの人をまよはすかな」

まさに、私の感想もこの句につきます。

なぜなら、インドでは今、ヒンドゥーが支配的な宗教ですが(不可触民に仏教を広めている日本人の方がおられますが)、じゃ、仏教徒はどうなったのかというと、釈迦の没後数百年に、ヒンドゥー教徒による仏教徒の虐殺が起こっているんですね。また、最近ではミャンマーの仏教徒からのロヒンギャへのひどい虐待の問題なんかもあります。

「お釈迦様、あんた、問題解決するどころか、ぶっちゃけ問題を増やしたんじゃないんか?」


これらセイントの失敗のひとつは、聖典が情緒的な自然言語によって記されたことが原因の一つだと思います。

そこへいくと、数学のたとえばユークリッド幾何学なんて数千年たってますが、根底から覆されることはありませんでした。リーマン幾何学などの前提条件を変えたさらなる発展はあり、それはそれで実り多い発展をしましたが、いまだにユークリッド幾何学はほぼ万人に正しく解釈、理解されてその正しさに挑戦して成功した人はおりません。

また、数学はゲーデルの不完全性定理により、己の限界さえもきっちりと示しています。

いま私はこれらの、「数式もしくは形式言語でなにか言わないと、バカが曲解する問題」をちらほらと折にふれて考えています。

1/3=0.333333…は面倒な数?

[mathjax]

$$\frac{1}{3} = 0.3333….$$

というように、1/3は小数点以下に3がずっと続く循環小数として表記されます。ここから、1/3というとあのなんか無限に続いてしまう面倒な数というイメージをもっている方もいらっしゃるのではないでしょうか。

しかし、これはあくまで今のわれわれが位取り記数法で10進法を使っているから無限小数として表記されているだけなのです。例えば3進法では1/3は0.1と表記されます。6進法では0.2です。

つまり、別に1/3が本来的に無限小数でしか表記できない半端な感じの数というわけではないのです。

位取り記数法  wikipediaより


歴史的には、十進法が世界的に広まったのはフランス革命の革命政府メートル法とともに十進法を定めて以来であり、それ以前は国や分野により、様々な N に対する N 進法が用いられていた。