入力された数値 10^num の 2 つの最大余素因数を見つけるコードを作成する必要があります。
今、私は書いた:
def coprimes(num):
for x in range (2, num):
for y in range (2, num):
while (gcd(x,y) == 1) & (x != y):
if (x*y==num):
return (x,y)
これは、forloops のために明らかに非常に遅いプログラムです。端末に入力するたびに、応答が遅すぎます。これが正しいかどうかもわかりません。この方法を改善する方法について何か提案はありますか?
このメソッドの回答例は次のとおりです。
>>> coprimes(10)
(9765625, 1024)