こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

javaへの変換

class Integer
def prime?
n = self.abs()
return true if n == 2
return false if n == 1 || n & 1 == 0
d = n-1
d >>= 1 while d & 1 == 0
20.times do
a = rand(n-2) + 1
t = d
y = ModMath.pow(a,t,n)
while t != n-1 && y != 1 && y != n-1
y = (y * y) % n
t <<= 1
end
return false if y != n-1 && t & 1 == 0
end
return true
end
end

module ModMath
def ModMath.pow(base, power, mod)
result = 1
while power > 0
result = (result * base) % mod if power & 1 == 1
base = (base * base) % mod
power >>= 1;
end
result
end
end

上記プログラムをjavaで書き直して頂きたく投稿いたしました。
もしよろしければお願いします。

投稿日時 - 2009-12-24 14:48:38

QNo.5544506

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(1)

#どこまで移植すれば妥当なのか…完全移植はおそらく言語仕様上無理。

##JavaにC#の拡張メソッドのようなものはないと思う。
##また、Javaはメソッド名に文字'?'を含められないと思う。

投稿日時 - 2009-12-25 18:20:56

あなたにオススメの質問