【Python】十进制转二进制、最大公约数
- 编写一个将十进制转换为二进制的函数,要求采用“除2取余”的方式,结果与调用bin()一样返回字符串形式
def exchange(n):
str1 = ''
while n >= 1:
a = n//2
str1 += str(n%2)
n = a
print(str1[::-1]) #步长为-1,达到翻转字符串的效果
exchange(12)
- 利用欧几里得算法求最大公约数
def gcd(x,y):
if x < y: #保证x比y大
swap = x
x = y
y = swap
if x%y == 0: #每个递归都需要有一个return
return y
else:
return (gcd(y,x%y))
print(gcd(10,20))
print(gcd(20,15))
浙公网安备 33010602011771号