2017年12月16日 | ブログ記事

Shall I dance?

Sigma1023

12/17担当のSigma1023です。

ということで踊ります。嘘です。

はじめに


今回お話ししたいのは踊りませんか?という話です。
この話をするために少し自己紹介をします。

終わりです。

そうなんです。別にプロとかじゃなくてただダンスが好きな平均的な東工大生なんです。

なので技術を教えようとは思っていませんし、できません。

では何を教えるか?

ダンスを楽しむための気持ちづくりです。

楽しまなければ見てる人も楽しくなりません。

例えばすごいかわいい踊りを踊っているのに無表情だと怖いですよね。

なので楽しんで踊りましょう!!

でもいざ踊るとなると恥ずかしいですよね?

自分も人前で踊ることに抵抗はありましたし、かわいい踊りとかを踊ろうとすると「傍から見たら気持ち悪いな」と思ってしまい、躊躇していました。

でも一回吹っ切れてみてください。世界が変わります。

素数を知る前と後くらい変わります。

ではどんな踊りをすればいいのでしょうか?

好きなものでいいです。

好きな踊りがないという人にはMMDで配信されている踊りをお勧めします。(これとか)
なぜかというと、アイドルなどのダンスは見えないところがあるので、 お手本にし辛いからです。

また、MMDで配信されているようなダンスは繰り返しが多かったり、単調なものが多かったりで入門用にはちょうどいいからです。

おわりに


この記事を見て興味を持った人は一度でいいので踊ってみてください。仲間を募集しています。

\:
\:
\:
\:
↓素数に興味がある人だけ見てください
\:
\:
\:
\:
\:
\:
\:
\:
\:
\:
\:
\:
\:
\:
\:

おまけ

\:

人力素因数分解の高速化の話をします。

100までの素数は25個だけなのですが、これだけで10000までの数を素因数分解できます。(素因数分解をする数の平方根以下の素数で割り切れなければその数は素数と言えるからです。詳しくはyoujo_tapeの記事を参照してください。)

つまり(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97)
だけで4桁までの自然数の素因数分解ができるのです。

では実践してみましょう。

まず4桁の数字を用意します。

例 1217

次にこの数字の平方根を超えない最大の素数を用意します。

例 31^2=961<1217<1369=37^2 なので31

最後にその数字を素数で割った余りを求めていきましょう。

例 2・・・1
  3・・・2
  5・・・2
  7・・・6
  11・・・7
  13・・・8
  17・・・10
  19・・・1
  23・・・21
  29・・・28
  31・・・8
割り切れなかったので1217は素数である。

でもこれだと時間がかかりすぎます。ただ単純に割っていくとこの例のような数字を素因数分解するのに数分かかってしまいます。でも少しだけ知識があれば半分以下の時間でできるようになります。
\: まず初めに2,5の倍数は見ればわかりますね。下一桁が2の倍数ならその数は2の倍数で、5の倍数なら5の倍数です。これは10進数で考えていることに起因します。
\: 次に3の倍数です。これは各位の数の和が3の倍数ならその数は3の倍数であるので頑張って足しましょう。
\: 次に7,11,13の倍数です。この三つにはある便利な数字を使って倍数かどうか判断します。それは1001です。7×11×13=1001なので「ある数字aからある自然数nの倍数を引い(足し)たときに残った数がnの倍数ならばaはnの倍数である。」という性質を使うことでこの三つの素数の倍数かどうかがわかります。例では1217-1001=216となり216は7でも11でも13でも割れないので1217はこれらの数字の倍数でないことがわかります。練習問題を3つほど出すのでそれぞれが7,11,13で割れるか試してみてください(答えは最後に載せます)

(1)1221
(2)8177
(3)5000000000000019

最後だけなんかおかしいですが1001の倍数を足したり引いたりすると10秒くらいでできるので頑張ってください!
 これ以降にもいろいろな便利な数字が出てくるのでいくつか紹介していきます。

1003・・・17×59なので17,59の倍数判定に使えます。
1007・・・19×53なので19,53の倍数判定に使えます。
969・・・3×17×19なので17,19の倍数判定に使えます。
2001・・・3×23×29なので23,29の倍数判定に使えます。
992・・・1000を引いて8を足す(もしくはその逆)ことで31の倍数判定に使えます。
999・・・3^3×37なので37の倍数判定に使えます。


\: しかし便利な数を覚えるのにも限りがあります。もし思いつかない時には次のような方法をとってください。
\: 素数判定は桁数が少ないほど簡単になります。また、素数は2,5を除いて下一桁が1,3,7,9です。そして、素因数分解したい数も2,5で割り切れるまで割っていけば下一桁は1,3,7,9になります。どうにかして簡単にその倍数かどうか判断できないでしょうか?

\: できます。判断したい素数を足したり引いたり、三倍した数を足したり引いたりすればできます。意味が分からないと思うので例を出します。

例 17257 これは17,19の倍数かどうかが判断しやすい例です。最初の二桁が17なので17000を引くと257となり、さらに17を引くと240となり17の倍数でないことがわかります。下一桁が7なので19×3を引いてみましょう。残ったのは17200→172(桁下げ)これは19の倍数ではありません。

\:このようにすれば割りにくい数も判断しやすくなります。

\:さて、ここまで見てくれた人は「これって素因数分解じゃなくて素数判定じゃね?」と思うと思います。その通りです。ここまでで終われればまだ簡単です。割り切れる数が見つかったらその数字で割らなければ素因数分解は始まりません。ここで単純に頭から割っていってもいいのですが、数によってはもっと早くできることもあります。

例 1911 1001を引いて91残るので7,13の倍数つまり91の倍数であることがわかり、1001=91×11なので1911=91×(11+10)=7×13×3×7=3×7^2×13

\: 時間がかかるように思えるかもしれませんが実際こんなに丁寧にやらないので5~10秒ぐらいでできてしまいます。

\: 最後に、日常生活でもいろんなところに数字はあります。素因数分解で楽しさが感じられるのは4桁程度がちょうどいいと思います。例えば自動車のナンバープレートや現在時刻、今日の日付など数分でできる程度の数を素因数分解してみましょう。書いてる人はナンバープレートで車を覚えるので「あっこの車昨日素因数分解した!」とか思いながら自転車こいだりしてます。そして繰り返すうちに素数判定と素因数分解が早くなったり、記憶力も良くなるかもしれません。
\: この記事をここまで読んでくれた人は少なくとも少しは素因数分解に興味があると思うので、まずは一日100回を目安に実践してみてください。多いと思うかもしれませんが通勤通学ですれ違った車を素因数分解したりしてると案外すぐ超えてしまいます。そして(自分の中で)新しい素数を見つけることができます。(これが楽しい)

楽しい素因数分解ライフを!!

\:
\:
\:
\:
答え(11)(13)(7)

この記事を書いた人
Sigma1023

趣味は素数です。

この記事をシェア

このエントリーをはてなブックマークに追加

関連する記事

2017年12月27日
Splatoon2~ボムの使い方~
shigurure
2017年12月26日
RustでMCMC(Metropolis-Hasting)
David
2017年12月26日
NinjaFlickerが完成しました
gotoh
2017年12月25日
Project Obelisk [traP Advent Calendar 2017]
nari
2017年12月25日
tobiom
2017年12月25日
ネタがないので迷路を自動生成してみた
tsukatomo

活動の紹介

カテゴリ

タグ