我正在嘗試爲Kaprekar數字編寫一個快速解決方案,向我的一個朋友展示在Python中實現類似這樣的事情是多麼容易。我知道如何做所有的步驟,除了以字符串形式遍歷方形數字。例如45是卡布列克數,因爲在蟒蛇我怎麼能遍歷一個字符串分裂它在不同的地方,因爲我去?
45 ** 2 = 2025年20 + 25 = 45
我想寫的是,將採取的結果碼45 ** 2 = 2025讓我遍歷的組合等
[ '2', '025']
[ '20', '25']
[ '202', '5']
我正在嘗試爲Kaprekar數字編寫一個快速解決方案,向我的一個朋友展示在Python中實現類似這樣的事情是多麼容易。我知道如何做所有的步驟,除了以字符串形式遍歷方形數字。例如45是卡布列克數,因爲在蟒蛇我怎麼能遍歷一個字符串分裂它在不同的地方,因爲我去?
45 ** 2 = 2025年20 + 25 = 45
我想寫的是,將採取的結果碼45 ** 2 = 2025讓我遍歷的組合等
[ '2', '025']
[ '20', '25']
[ '202', '5']
>>> s = '2025'
>>> for i in range(1, len(s)):
... print s[:i], s[i:]
...
2 025
20 25
202 5
準確地說,我打算在工作之前分心。 – 2011-06-06 21:30:19
完美,謝謝! – Gekitsuu 2011-06-06 21:39:28
我會花一些額外的天煉獄回答已經伊格納西奧回答數學問題,但你也可以嘗試用一些變種:
>>> a = 2025
>>> for i in range(1,4):
... print a/10**i, a % 10**i
...
202 5
20 25
2 25
我測試了這個,它也可以工作,我喜歡Ignacio的解決方案只是爲了可讀性 – Gekitsuu 2011-06-08 20:04:02
感謝參考卡布列克數。這啓發了新的Rosetta Code任務:http://rosettacode.org/wiki/Kaprekar_numbers – Paddy3118 2011-06-07 07:47:01