對數字的數字求和:一種有效的方法
要找出數字中的數字總和,最有效的方法是利用純整數運算。以下 Python 程式碼展示了這種技術:
def sum_digits(n): s = 0 while n: s += n % 10 n //= 10 return s
這裡,我們重複應用模 10 來提取最右邊的數字並將其添加到總和中。透過整數除以 10,我們轉移到下一個數字。
更快的版本使用單一賦值語句:
def sum_digits3(n): r = 0 while n: r, n = r + n % 10, n // 10 return r
速度比較表明使用整數運算明顯快於將數字轉換為字串並使用字串運算。
%timeit sum_digits(n) # Pure integer operations 1000000 loops, best of 3: 479 ns per loop %timeit sum_digits2(n) # Integer operations with divmod 1000000 loops, best of 3: 716 ns per loop %timeit sum(map(int, str(n))) # String manipulation 1000000 loops, best of 3: 1.42 us per loop %timeit sum([int(digit) for digit in str(n)]) # List comprehension 100000 loops, best of 3: 1.52 us per loop %timeit sum(int(digit) for digit in str(n)) # Generator expression 100000 loops, best of 3: 2.04 us per loop
因此,利用整數運算是對數字求和最有效的方法一個數字。
以上是對數字進行求和的最有效方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!