10 進法で約 10k 桁の数字があります。基数2(1010101001 ...)に変換したい。私が考えることができるのは、原始的なアルゴリズムだけです:
take last digit mod 2 -> write down bit
number divide by 2;
文字列に小学校の区分を実装するのは難しくないはずですが、非常に非効率的だと思います。私が正しければO(l^2)
、それは になります。ここでl
、基数 10 の数値の長さを意味します。それをより速く行うことはできますか?