#python 16
1.编写一个函数power()模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值。
def power(x,y):
return x**y
2.编写一个函数,利用欧几里得算法(脑补链接)求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数。
def oujilide(x,y):
a=min(x,y)
b=max(x,y)
if a==1:
return 1
while b>1:
r=b%a
if r==0:
return a
else:
b=a
a=r
return 1
3.编写一个将十进制转换为二进制的函数,要求采用“除2取余”(脑补链接)的方式,结果与调用bin()一样返回字符串形式。
def trans_ten_to_two(n):
r=n%2
a=[]
a.append(str(r))
while n>1:
n=n//2
r=n%2
a.append(str(r))
m=len(a)
l=''
while m>0:
l += a[m - 1] #list.pop() better
m=m-1
return l