之前一直忙没有时间继续学,隔了好久没看python都手生了
第二题:对任意合数进行质因数分解
n=int(input("num="))
k=2
print(n,"=",end='')
while k<=n:
if n%k==0:
print(k,end='')
if k-n!=0:
print("*",end='')
n=n/k
else:
k=k+1
想法是从2开始,如果这个数和n相等那么就说明这是最后一个质数;如果n除这个数余0那么就是他的因数,然后用n除以k后继续循环。
第三题:用小的数乘以倍数的方法求两个正整数的最小公倍数
def question2():
n1=int(input("num1="))
n2 = int(input("num2="))
if n1<=0 or n2<=0:
print("num1 or num2 need >0")
else:
print('%d和%d的最小公倍数是%d'%(n1,n2,T1(n1,n2)))
def T1(n1,n2):
n=1
if n1<=n2:
smaller=n1
else:
smaller=n2
n2=n1
while (smaller*n)%n2!=0:
n=n+1
return n*smaller
question2()
整体思路是n从1开始计数,取两个数中最小的数为n1与n相乘,得到的结果对n2取余,为0时即为最小公倍数。