読者です 読者をやめる 読者になる 読者になる

Unityと数学の学習帳

Unityと数学の同時学習を目的としたブログ

循環小数の作成

0.3939393939...\quad =\quad 0.\dot { 3 } \dot { 9 }  のような循環小数の作成

基本的に以下の様な仕組みを利用する。これはゲーム開発では乱数の作成の基礎などに利用できる

\lim _{ n\rightarrow \infty  }{ { S }_{ n } } \quad =\quad 39\left\{ \frac { 1 }{ 100 } +{ \left( \frac { 1 }{ 100 }  \right)  }^{ 2 }+{ \left( \frac { 1 }{ 100 }  \right)  }^{ 3 }+\cdots +{ \left( \frac { 1 }{ 100 }  \right)  }^{ n } \right\}

等比数列の和の公式 { S }_{ n }=\frac { { a }_{ 1 }\left( 1-{ r }^{ n } \right)  }{ 1-r } を利用して

\lim _{ n\rightarrow \infty  }{ { S }_{ n } } =39\times \frac { \frac { 1 }{ 100 } \left( 1-{ \left( \frac { 1 }{ 100 }  \right)  }^{ n } \right)  }{ 1-\frac { 1 }{ 100 }  } \\ { S }_{ n }=\quad 39\times \frac { \frac { 1 }{ 100 } \left( 1-0 \right)  }{ 1-\frac { 1 }{ 100 }  } \quad =\quad 39\times \frac { \frac { 1 }{ 100 }  }{ \frac { 99 }{ 100 }  } \quad =\quad 39\times \frac { 1 }{ 99 } \quad =\quad \frac { 13 }{ 33 }

となる。簡単に言うと39÷99で循環小数を作れるし、例えば0.1234512345...のような場合は、12345÷99999で作れる。乱数にしたいなら、この99の部分を98や97にずらしていく。(もちろんこんなものは乱数ではないのだが、ぱっとみて乱数と勘違させることは出来る)この循環少数の狙った桁や並んだ数字部分を抽出したいのなら以下のような考え方を利用する(10なら一桁づつだが100にすればふたつずつ抽出するなども出来る)


狙った桁の抽出

広告を非表示にする