24/05/07 09:07:16.40 WyT6FCmf.net
>>924
分数が扱えないなら、リストへのアクセス時は、整数にしておけば良い
For[a=1/2024;b=1/a;buff={},FreeQ[buff,a*b],a=FractionalPart[2*a],AppendTo[buff,a*b]];
Length[buff]-Position[buff,a*b][[1]][[1]]+1
最初から2024倍したものを扱うことにすれば
For[a=1;b=2024;buff={},FreeQ[buff,a],a=Mod[2*a,b],AppendTo[buff,a]];
Length[buff]-Position[buff,a][[1]][[1]]+1
というわけで、極めて一般的な進法変換アルゴリズムに帰着。スタート地点はこれ。
エレガントな訳が無い。