python回歸之旅-用python學(xué)習(xí)數(shù)學(xué)---2023-007
分析一個(gè)整數(shù)的因子。
import math
num1=int(input('input the first num='))
num2=int(input('input the second num='))
infactor1=[]
infactor2=[]
def factor(x,a):
? ? for i in range(1,x+1):
? ? ? ? if x%i==0:
? ? ? ? ? ? a.append(i)
factor(num1,infactor1)
factor(num2,infactor2)
print(infactor1)
print(infactor2)
------------------------------------------------------
這個(gè)部分貌似是python列表操作和基礎(chǔ)數(shù)學(xué)知識(shí)。
在這個(gè)基礎(chǔ)上,計(jì)算兩個(gè)整數(shù)的最大公因數(shù)(這個(gè)就考驗(yàn)算法了)
先找了一個(gè)找出所有公因數(shù)的方法
import math
num1=int(input('input the first num='))
num2=int(input('input the second num='))
infactor1=[]
infactor2=[]
def factor(x,a):
? ? for i in range(1,x+1):
? ? ? ? if x%i==0:
? ? ? ? ? ? a.append(i)
factor(num1,infactor1)
factor(num2,infactor2)
print(infactor1)
print(infactor2)
len1=len(infactor1)
len2=len(infactor2)
print("len1=",len1)
print("len2=",len2)
for i in range(len1):
? ? for j in range(len2):
? ? ? ? if infactor1[i]==infactor2[j]:
? ? ? ? ? ? print(infactor1[i])
---------------------------------------------------------------------------------------
最大公因數(shù)計(jì)算結(jié)果
import math
infactor1=[]
infactor2=[]
gys=[]
def factor(x,a):
? ? for i in range(1,x+1):
? ? ? ? if x%i==0:
? ? ? ? ? ? a.append(i)
def zdgys(num1,num2):
? ? factor(num1,infactor1)
? ? factor(num2,infactor2)
? ? len1=len(infactor1)
? ? len2=len(infactor2)
? ? for i in range(len1):
? ? ? ? for j in range(len2):
? ? ? ? ? ? if infactor1[i]==infactor2[j]:
? ? ? ? ? ? ? ? gys.append(infactor1[i])
? ? len3=len(gys)
? ? print(gys[len3-1])
num1=int(input('input the first num='))
num2=int(input('input the second num='))
zdgys(num1,num2)
------------------------------------------------------
主要學(xué)習(xí)了列表對(duì)比。數(shù)學(xué)只是求取最大公因書這個(gè)部分使用到了。