算法
若是用通俗易懂的語言來講,算法就是「把解決問題的步驟無一遺漏地用文字或圖表示出來」。要是把這裏的「用文字或圖表示」替換爲「用編程語言表達」,算法就變成了程序。並且請諸位注意這樣一個條件,那就是「步驟必須是明確的而且步驟數必須是有限的」。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."