算法
若是用通俗易懂的语言来讲,算法就是“把解决问题的步骤无一遗漏地用文字或图表示出来”。要是把这里的“用文字或图表示”替换为“用编程语言表达”,算法就变成了程序。并且请诸位注意这样一个条件,那就是“步骤必须是明确的而且步骤数必须是有限的”。python
典型算法
计算不能自发地思考。所以计算机所执行的由程序表示的算法必须是由机械的步骤所构成。所谓“机械的步骤”,就是不用动任何脑筋,只要按照这个步骤作就必定能完成的意思。众多的学者和前辈程序员们已经发明创造出了不少机械地解决问题的步骤,这些步骤并不依赖人类的直觉。由此所构成的算法被称为“典型算法”。程序员
展转相除法
展转相除法(又称欧几里得算法)就是一个机械地求解最大公约数问题的算法。
展转相除法能够求两个数的最大公约数,两个数相乘除以最大公约数能够得两个数的最小公倍数。算法
#!/usr/bin/env python # -*- coding: utf-8 -*- # minyt 2020.8.25 a = input("Please input num a: ") b = input("Please input num b: ") aa = a bb = b while a != b: if a > b: a = a - b else: b = b -a else: print "the greatest common divisor is : " ,a print "the least common multiple is : " ,aa*bb/a
埃拉托斯特尼筛法
判断一个数是否是素数,用这个数分别除以比它小的全部正整数,若是没有找到可以整除的数,那么这个数就是素数。编程
#!/usr/bin/env python # -*- coding: utf-8 -*- # minyt 2020.8.25 a = input("Please input num a: ") if a > 1: for i in range(2,a-1): if (a % i ) == 0: print a, " is not primer." break else: print a, " is primer." else: print a, " is not primer."