アカウント名:
パスワード:
どうすればいい?なるべく簡単な方法で、Linuxでしたいです。てか、いろんな言語で書いてってください。
Pythonだと計算は一瞬ですね。元々、Pythonは多倍長整数をサポートしているので。
n = 2**57885161-1
ただ、これを10進数に変換するのは非常に時間がかかるみたいです。数分待っても出力できず(^^;)
print(n)
# 下から10桁切り出すと 1724285951 になります。
2時間待ってもprintされず・・・>下から10桁切り出すと 1724285951 になります。ってどうやってるんですか?
除算/剰余算は結構早く終わります。なので、
print(n % 10**10)
とすれば下から10桁の切り出しはすぐ求められますね。
# 10000桁分ぐらいだったらあまり時間はかからないので、divmod等で少しずつ10進数化していくほうがトータルでは早いのかも(^^;)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
C言語で2^57885161-1を計算するには (スコア:0)
どうすればいい?
なるべく簡単な方法で、Linuxでしたいです。
てか、いろんな言語で書いてってください。
Re: (スコア:1)
Pythonだと計算は一瞬ですね。
元々、Pythonは多倍長整数をサポートしているので。
n = 2**57885161-1
ただ、これを10進数に変換するのは非常に時間がかかるみたいです。
数分待っても出力できず(^^;)
print(n)
# 下から10桁切り出すと 1724285951 になります。
Re: (スコア:0)
2時間待ってもprintされず・・・
>下から10桁切り出すと 1724285951 になります。
ってどうやってるんですか?
Re:C言語で2^57885161-1を計算するには (スコア:1)
除算/剰余算は結構早く終わります。なので、
print(n % 10**10)
とすれば下から10桁の切り出しはすぐ求められますね。
# 10000桁分ぐらいだったらあまり時間はかからないので、divmod等で少しずつ10進数化していくほうがトータルでは早いのかも(^^;)