python 16

#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

猜你喜欢

转载自blog.csdn.net/XJTU_Kris/article/details/89636014