一、數字的結構
12312321是一個八位數。
num = 12312321 digit1 = num // 10000000 # 取得第一位數字 digit2 = (num // 1000000) % 10 # 取得第二位數字 digit3 = (num // 100000) % 10 # ... digit4 = (num // 10000) % 10 digit5 = (num // 1000) % 10 digit6 = (num // 100) % 10 digit7 = (num // 10) % 10 digit8 = num % 10 # 取得最後一位數字
它是一個對稱數,從左到右和從右到左讀都是一樣的。
def is_palindrome(n): s = str(n) return s == s[::-1] print(is_palindrome(12312321)) # True
二、數字的因子
12312321有8個因子:1、3、9、1379147、4137441、12412323、36904107和12312321。
def get_factors(n): factors = set() for i in range(1, int(n ** 0.5) + 1): if n % i == 0: factors.add(i) factors.add(n // i) return factors print(sorted(list(get_factors(12312321))))
三、數字的各位數之和
12312321的各位數之和是15。
def digit_sum(n): return sum(int(d) for d in str(n)) print(digit_sum(12312321)) # 15
四、數字的反碼
12312321的反碼是21169406。
def bitwise_not(n): return ~n & (2 ** n.bit_length() - 1) def complement(n): return bitwise_not(n) + 1 print(complement(12312321)) # 21169406
五、數字的平方根
12312321的平方根是3511。
def sqrt(n): x = n y = (x + 1) // 2 while y < x: x = y y = (x + n // x) // 2 return x print(sqrt(12312321)) # 3511
原創文章,作者:VPTMX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371352.html