[過去ログ] 高校数学の質問スレ Part434 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
912(4): 2024/05/06(月)17:01 ID:EucrUAT8(1) AAS
For[a=1/2024;buff={},FreeQ[buff,a],a=FractionalPart[2*a],AppendTo[buff,a]];
Length[buff]-Position[buff,a][[1]][[1]]+1
110
916(1): 2024/05/06(月)17:49 ID:xxhQy/YG(23/23) AAS
>>912
レスありがとうございます。
想定解110と合致しました。
920: 2024/05/06(月)20:36 ID:pOat3wNb(2/3) AAS
>>884
(1)
1/2024 = (1/8)(1/253)
= (1/8)・5130728121081845482737644594091/(2^110−1),
∴ 循環節の長さ 110桁 (>>912と一致)
(2)
0.000
「0000000100 0000110000 1001000110 1101010001
1111010111 1000011010 0100111011 1011001100
0110010100 1011111000 1110101011」
省1
923(1): 2024/05/07(火)05:31 ID:H7owo3Tu(1/4) AAS
>>912
知らない関数がでてきたので仕様と解法のアルゴリズムを理解するために、
小さな数にして途中経過を表示させてみました。
For[a=1/6;buff={},FreeQ[buff,a],a=FractionalPart[2*a],Print[FreeQ[buff,a]];Print[a];Print[buff];AppendTo[buff,a];Print[buff];Print["\n"]]
FreeQ[buff,a]
a
buff
Position[buff,a]
Length[buff]-Position[buff,a][[1]][[1]]+1
エレガントな解法に感服。
省2
924(1): 2024/05/07(火)06:23 ID:H7owo3Tu(2/4) AAS
>>923
正しく理解できているかを確認のために>912の神スクリプトをRに移植。
Rは分数のままでは扱えないので文字列と数字の変換操作を組み込んでコードした。
a="1/2024"
buff=NULL
while(!(a %in% buff)){
buff=c(buff,a)
a |> str2lang() |> eval() -> b
(2*b - floor(2*b)) |> MASS::fractions() |> as.character() -> a
}
省4
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.036s