最大公约数--常看常新
(2022-04-01 09:53:48)分类: 研究-学习 |
关于最大公约数的程序方法,我之前关注过多次,可自己学习编程的基础太差,当初看明白了过段时间又忘记了,导致这个知识在自己身上没有真正的“内化”。刚才整理了一下电脑桌面,看到了前几天编写的求最大公约数的程序,发现和昨天的相同功能的程序结合起来,自己还有认识上的“断层”:
if a
a,b=b,a
a=a-b
a,b=b,a %
b #python特有的方法,同时赋值
a=int(input("a="))
b=int(input("b="))
有两种实现方法,一个是两两相减(大减小),差替代大数的值,再两两相减,差替代大数的值...直至两者相等
a=int(input("第一个数:"))
b=int(input("第一个数:"))
while a!=b:
print(a)
第二种方法,辗转相除法(一轮运算后,除数替代被除数,余数替代除数,直至余数等于0)
#-----办法1-------
a=int(input("第一个数:"))
b=int(input("第一个数:"))
#while b>0:
while b!=0:
print(a)
#-----办法2-------
a=0
b=0
while a==0 or b==0:
if a
a,b=b,a
#
a=b
a=b
b=n
n=a%b
#此中采用的传统编程语言的方法,逐个替换
'''
#while a%b >0:
# b=a%b
#此处不能形成循环,应该使用同时赋值的方法,。此时循环条件为b>0,最大公约数是a
#print("最大公约数:",b)
#不能形成多次循环
'''
n=a%b
while n>0:
print("最大公约数:",b)