新しいものを表示
orange さんがブースト

公約数になれなかったやつの影響は「『余り』でシフトされて続きを刻む」という形になるので

スレッドを表示
orange さんがブースト

こうすると、「最大公約数は『同じ数列の繰り返し回数』になって、残りの (互いに素な) 約数の影響は『繰り返しの周期』になる」というのが読み取りやすくなる

スレッドを表示
orange さんがブースト
orange さんがブースト

あとは円周をb等分して線で結んでいくとか。

orange さんがブースト

100だと約数のバリエーションが増えるので (2, 4, 5, 10, 20, 25, 50)、最大公約数と互いに素な因数の関係が見えやすい

スレッドを表示
orange さんがブースト

一度100進数とかで考えてみると良いと思います

orange さんがブースト

そりゃまあ2の累乗進数をサンプルにしてしまったら、奇数との最大公約数は1なんだから規則性が見えてしまうのは当たり前では

任意の偶数進数の掛け算の1の位のサイクル長、
なんか法則性あるっぽく見えるし、対象の段の数値を使わずに、なんらかの波を作る関数みたいなので出せるような気がほんのりと・・・><
同じ発想ですべての段の合計もわりと簡単な式で出せるんじゃないかと・・・><

なんかもっと単純な式で出せそうな気がする・・・><

ヘキサそろばん(16進数)による掛け算 (複数ケタ * 一ケタ) - Qiita qiita.com/lamuda/items/3728f79

周期 16,8,16,4,16,8,16,2,16,8,16,4,16,8,16

orange さんがブースト

一応補足すると、sずつでスキップしたときsで割るというのは、「sずつでスキップする」が「s個のうち1つだけが訪問される」ことを意味していることに由来する計算

スレッドを表示
orange さんがブースト

つまり、b進法でmの倍数 (ただし 1≦m<b) を小さいものから並べたとき最小の位の値の周期は、 b/gcd(b,m) の長さになる

スレッドを表示
orange さんがブースト

60進数での24の段なら、公約数の2や3や4や6や12ずつでスキップした分はいつでも飛ばされるから、そのうち最大の12で60を割って5周期 (24, 48, 12, 36, 0)

スレッドを表示
orange さんがブースト

8進数での6の段なら、公約数の2ずつスキップしたぶん (1357) はいつでも飛ばされるから8を2で割って4周期

スレッドを表示
orange さんがブースト

公約数のぶんのステップ数は周回で1周するとぴったり戻ってくるので飛ばされた部分は絶対に訪問されない。
たとえば10進数で5の段を考えると最初にスキップされる12346789は絶対に訪問されないから、5で割った結果になる

スレッドを表示

ていうか周期の合計を出す式があるのかもって思った><

orange さんがブースト
orange さんがブースト

これ基数を最大公約数で割った周期になるだけでは?

この辺りをちゃんとした数学用語でなんて言うのかを教えてくれる数学つよつよな人を募集してます><(?)

mstdn.nere9.help/@orange_in_sp
mstdn.nere9.help/@orange_in_sp

古いものを表示
:realtek:

思考の /dev/null