Python初学者8号 发表于 2021-8-11 17:15:19

【第17——24讲】函数系列

第17讲
1.这是小甲鱼写的辗转相除法def gcd(x, y):
    while y:
      t = x % y
      x = y
      y = t

    return x
   
print(gcd(4, 6))这是我写的def gcd(x,y):
    return

a, b=1999,615
while 1 :#没到结果就一直循环
    # 先计算 一下,计算的得到的余数要检验
    c,d = gcd(a, b)
    # 检验 成功之后就输出
    if d == 0:
      print('最大公约数为%d'%(b))
      break
    else: # 失败之后将运算的结果作为新的参数
      a, b = b, d2 这是小甲鱼的十进制转二进制def Dec2Bin(dec):
    temp = []
    result = ''

    while dec:
      quo = dec % 2
      dec = dec // 2
      temp.append(quo)

    while temp:
      result += str(temp.pop())

    return result

print(Dec2Bin(62))这是我写的
def conv(nd):
    left = nd# 为了方便最后print
    c = bio =''# 用于连接余数得到顺序和逆序的二进制数初始值
    while 1:
      c= c + str(nd % 2) # 先得到余数,如果和下面的顺序反了就会导致nd成了nd/2
      nd = nd // 2       # 得到商
      if nd == 0:      # 判定是否可以结束
            b =     # 算完了的话就可以着手处理结果的顺序了,现在逆转之
            for i in b:
                bio = bio + i    # 完成逆转
            print('%d的二进制表达为%d'%(left,int(bio)))
            break
conv(255)


hornwong 发表于 2021-8-11 19:53:17

{:5_95:}

Python初学者8号 发表于 2021-8-12 08:52:41

hornwong 发表于 2021-8-11 19:53


{:10_281:}
页: [1]
查看完整版本: 【第17——24讲】函数系列