2017-08-12 24 views
0

如何通過採取基數Python的模塊化爲一些

+0

首先,提供你的代碼你試過的是什麼 – Kallz

+0

它什麼時候停止?在你的例子中,它是否會停止,因爲'(7 + 3)%10'將會是'0'?或者你是否瞄準了一個設定長度的ID? – ChristianFigueroa

+0

歡迎使用堆棧溢出在本網站中,您將嘗試自己編寫代碼。在做了更多的研究之後,如果您遇到問題,您可以發佈**您嘗試過的內容,並清楚說明什麼不工作**並提供最小化,完整和可驗證的示例。我建議閱讀[如何問](https://stackoverflow.com/help/how-to-ask)一個很好的問題和[完美的問題](http://codeblog.jonskeet.uk/2010/08/29 /寫最完美的 - 問題/)。另外,一定要參加[tour](https://stackoverflow.com/tour)並閱讀[this](https://meta.stackoverflow.com/q/347937/6676466)。 –

回答

0

爲解決一個簡單的方法:

a=input() 
while len(a)<10: 
    b=int(a[len(a)-1])+int(a[len(a)-2]) 
    a=a+str(b%10) 
print (a) 

願這一個有益的給你。

0
n= 16 

while(len(str(n)) < 10): 
    print(n) 
    a = n %10 + (int(n/10))%10 # sum of last two digits 
    n *= 10 
    n += a%10 #adding the last 

print(n) 
0

根據您的例子來創建一個itterative數10digit長,我假設你想停下來,一旦你達到一個0

某些數字,例如18將不會達到0有史以來,所以也想要添加該ID可以是最大長度。

以下代碼運行數學運算,直至達到0或達到40位數。

def getID(number) 
    maxlength = 40 - len(str(number)) 
    while maxlength: 
     string = str(number) 
     answer = (int(string[-2]) + int(string[-1])) % 10 
     if answer == 0: 
      break 
     number = number * 10 + answer 
     maxlength -= 1 
    return number 


getID(14) == 1459437 
getID(15) == 15617853819 
getID(16) == 1673 
getID(18) == 17853819 
getID(18) == 189763921347189763921347189763921347189763 

18是一個重複的數字,所以循環一旦達到設定的長度就結束。