Python学习8

来源:互联网 发布:淘宝优惠券小程序 编辑:程序博客网 时间:2024/06/16 10:53

题目:  给你两个正整数,然后计算他们的最大公约数

     大概的思路是正确的,但是在编程的时候我忽略了1 以及这个数本身可能是最大的公约数这两种情况

     最下面的那个是简化后的代码。。。范围取值是 1到  len(miner)+1   

 


# coding: utf-8#比较两个数,选取较小的那个数# 对于i 从2 取值到这个数的开方 的一个数,然后将分别去用两个数相除,如果都可以除尽 记录下来 一直找到最大的一个a = 24b = 8if a < b:    num = a    max1 = belse:    num = b    max1 = aprint num, max1maxNum = 0if num == 1 or max1 == 1:    maxNum = 1for i in range(1, int(num)):    if num == 1 or max1 == 1:        print 1        maxNum = 1        break    else:        if max1 % num == 0:            maxNum = num            break        else:            if a % i == 0 and b % i == 0:                maxNum = iprint '%d' % maxNum
a = 24b = 36if a < b:    num = aelse:    num = bfor i in range(1, num+1):    if a % i == 0 and b % i == 0:        max1 = iprint max1


本文发表的博文纯属个人学习笔记,方便日后自己查看的






0 0