python回归之旅-用python学习数学---2023-007
分析一个整数的因子。
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)
------------------------------------------------------
这个部分貌似是python列表操作和基础数学知识。
在这个基础上,计算两个整数的最大公因数(这个就考验算法了)
先找了一个找出所有公因数的方法
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])
---------------------------------------------------------------------------------------
最大公因数计算结果
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)
------------------------------------------------------
主要学习了列表对比。数学只是求取最大公因书这个部分使用到了。