内容正文:
少儿编程课
1
分解质因数
无限语句
while True:
…
if 条件:
…
break
在不能预先明确知道循环次数的时候
只能使用while进行循环,当条件满足
时使用break语句退出循环
3
求余
n // m = 商(整数)
整除
n % m = 余数
4
公倍数
公倍数是指在两个或两个以上的自然数中,如果它们有相同的倍数,这些倍数就是它们的公倍数。例如:24即是6的倍数也是8的倍数,则24就是6和8的公倍数。公倍数可以有多个,所有公倍数中最小的,就称为最小公倍数。
公倍数
100以内6和8的公倍数有哪些?最小公倍数?
遍历100以内的所有数字,凡是可以同时整除6和8的就是公倍数
用列表盛放所有公倍数
所有公倍数中最小的那个,就是最小公倍数
公倍数
公倍数
s=[]
for x in range(1,100):
if x % 6==0 and x % 8 ==0:
s.append(x)
print(s)
print(min(s))
两数之积等于两数最大公约数乘以最小公倍数。
例如:6,8的最大公约数是2,则6*8=2*最小公倍数
所以6,8的最小公倍数是24
数学特性法求最小公倍数
数学特性法求最小公倍数
m=input('数1:')
n=input('数2:')
m,n=int(m),int(n)
num1,num2=m,n
while True:
if m % n==0:
break
else:
m,n=n,m%n #利用数学特性法计算最大公约数
print(num1*num2/n) #两数相乘除以最大公约数得到最小公倍数
10
穷举法:找到数字中最小的那个数,然后不断增加1,
直到成为所有数字的倍数
穷举法求最小公倍数
穷举法求最小公倍数
m=input('数1:')
n=input('数2:')
m,n=int(m),int(n)
temp=m #临时数字可以等于任意一个输入的数字
while True:
if temp % m==0 and temp % n==0:
break
else:
temp+=1 #只要还不是公倍数就在原有数字基础上加1
print(temp)
12
分解质因数
每个合数都可以写成几个质数相乘的形式。
把一个合数写成几个质数相乘的形式表示,这也是分解质因数,如16=2×2×2×2,2就是16的质因数。
分解质因数
将一个正整数分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
1、若这个质数恰等于n,则说明分解质因数的过程已经结束,输出即可。
2、如果n>k,但n能被k整除,则应输出k的值,并用n除以k的商作为新的正整数n,重复执行第一步。
3、如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
分解质因数
输入任意一个数字,分解质因数,打印分解的结果。
应先找到一个最小的质数2,然后按下述步骤完成:
如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印即可
如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商作为新的正整数n,重复执行第一步。
如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
分解质因数
m=input('数1:')
m=int(m) #获取用户输入的数字
k=2 #选择最小的质数
s=[] #存放质因数的列表
while True:
if m==k: #如果输入的数字等于该质数
s.append(k) #将质数添加到s
break #中止循环
elif m%k==0: #如果当前m可以整除k
m=m//k #则整除
s.append(k) #并将k添加到列表
else:
k+=1 #如果m不能整除质数,则k+1
print(s)
用质因数计算最大公约数
例如利用质因数列表计算数字24和30的最大公约数:
1、24的质因数列表为 s1 = [ 2,2,2,3 ]
30的质因数列表为s2 = [ 2,3,5 ]
2、新创建两个列表a,b,让a等于两者中较长的列表,b等于两者中较短的列表。
3、新建一个空白列表c,将a和b