2017-07-28 38 views
1
temp=input() 
l=list(map(int,temp.split())) 
count=0 
for i in range (1,min(l[0],l[1])+1): 
    if l[0]%i==0 and l[1]%i==0: 
     count+=1 
print (count) 

上面的代碼需要2個或更多的數字,並找到共同因子的數量。這些數字的範圍是1到10 ** 12。將字符串轉換爲相應的數據類型,即。 int或long(python3)

如何在此代碼中處理int和long數據類型?請幫助。

+1

有長之間沒有區別,並在python3詮釋。 (長不存在...) –

+0

不知道,但你打算從1迭代到10 ** 12?因爲這是一個壞主意...... –

+0

@ Jean-FrançoisFabre一旦我解決了這個問題,我會找到更好的方法。該代碼不會爲巨大的值提供輸出。 –

回答

2

與Python 2相反,Python 3不區分intlonglong已從Python 3中消失)。它只是一個比64位更長的整數。

通過Python 3文檔

Integers have unlimited precision.

+0

蟒蛇2做了區別。沒有必要將Hiro的評論複製到一個不太詳細的答案中。 –

+0

@ Jean-FrançoisFabre我沒有注意到那條評論。無論哪種方式,我已經標記爲社區,所以這個問題有一些答案。 – Qeek

+0

令人驚訝的是我無法找到一個確切的副本,所以upvoting你的答案。 –