忘记了,写一下加深印象
十进制转二进制,辗转除以二,余数的反转为二进制数。比如8,8%2=0 8//2=4 4%2=0 4//2=2 2%2=0 2//2=1 1%2=1 1//2=0 被除数为1时是最后一次迭代,余数是0001,反过来是1000,所以8的二进制是1000
n = 8
str1 = ''
while n:
str1+=str(n%2)
n//=2
res = str1[::-1]
print(res)
最大公约数
m,n=16,12
while(m%n):
m,n = n,m%n
print(n)