资源简介 (共19张PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.少儿编程课找质数无限循环语句while True:…if 条件:…break在不能预先明确知道循环次数的时候,只能使用while进行循环,当条件满足时使用break语句退出循环列表中元素的添加append(元素):向列表容器中添加内容s=[1,2,3,4,5,6]s.append(7)s.append(8)print(s)又称为素数,在大于1的自然数中除了1和它本身以外不能再被其它数整除自然数中不是质数的数字称为合数任何一个合数都可以拆分为若干个质数之积。拆解的过程称为分解质因数质数打印100以内的所有质数根据素数的定义,遍历从2开始的所有两位数字定义空白列表容器盛放素数根据素数定义,遍历从2开始到两位数自身-1的所有数字,与两位数自身做求余操作根据第二步的执行结果,判定两位数是否为质数。如果是则放到类比容器中找质数找质数s=[]for x in range(2,100): #遍历所有2~99的数字flag=True #经过下面的循环,flag还为True,则为质数n=2 #从2开始到当前数字-1while nif x % n==0: #如果当前数字被除了1和本身以外的数字整除了flag=False #将flag改为False,并中止对当前数字后续数的判断breakelse:n+=1 #不断增大n的数字,n会从2增加到x-1if flag: #凡经过while循环flag仍为Trues.append(x) #则证明该数字是素数print(s)输入一个数字,判断是否为质数获取用户输入的内容,并转为数字利用一个flag记录判定结果,开始判定前flag的值为True根据素数定义,遍历从2开始到输入数字-1的所有数字,并与输入数字做求余操作如果有可以除尽的数字(求余为0),则将flag设置为False,并终止循环循环结束后,如果flag值为True,则代表用户输入的是质数。如果flag的值为False,则代表用户输入的不是质数判断质数判断质数n=input("请输入要判断的数:")n=int(n)flag=Truefor x in range(2,n): #遍历所有2~n-1的数字if n % x==0:flag=Falsebreakif flag:print("YES")else:print("NO")找质数找出所有各位数字之积为质数的两位数创建一个空白列表盛放数字遍历所有的两位数字获得当前数字的个位数和十位数,如果两者之积为质数,则将两位数放入列表中找质数s=[]for x in range(10,100):a=x//10 #取两位数的十位数b=x%10 #取两位数的个位数n=a*b #计算两数之积if n>1: #两数之积有可能是0或者1,这些都不是质数flag=Truefor y in range(2,n): #遍历2至n-1if n % y==0: #如果能整除,说明n不是质数flag=Falsebreakif flag: #经过上面循环如果flag还为True则说明n为质数s.append(x) #将x添加到s中print(s)哥德巴赫猜想史上和质数有关的数学猜想中,最著名的当然就是“哥德巴赫猜想”了。哥德巴赫1742年给大数学家欧拉的信中提出了以下猜想:任意大于2的偶数都可写成两个质数之和。但是时至今日,哥德巴赫猜想也没有从数学上给出完备的证明。目前最接近的论证是1966年,中国的陈景润证明了"1 + 2" 。20世纪,随着计算机技术的发展,可以证明对于非常大的数始终是成立的。可是自然数是无限的,谁知道会不会在某一个足够大的偶数上,突然出现哥德巴赫猜想的反例呢?哥德巴赫猜想哥德巴赫猜想:每个大于2的偶数都可以表示成两个质数的和。请将100以内的所有偶数表示为两个质数之和。哥德巴赫猜想哥德巴赫猜想:每个大于2的偶数都可以表示成两个质数的和请将100以内的所有偶数表示为两个质数之和获得一个100以内所有的质数列表获得一个100以内所有的偶数列表遍历偶数列表,从质数列表中找是否存在两个质数之和等于当前偶数找到之后打印到控制台哥德巴赫猜想获取质数列表s=[]for x in range(2,100):flag=Truefor y in range(2,x):if x % y==0:flag=Falsebreakif flag:s.append(x)print("质数列表:",s)哥德巴赫猜想获取偶数列表m=[]for x in range(4,100):if x %2==0:m.append(x)print("偶数列表:",m)哥德巴赫猜想偶数列表中的数字可以表示为两个质数列表中的数字之和:for x in m: #遍历偶数列表for y in s: #遍历质数列表a=yb=x-y #使用偶数减去当前的质数if b in s: #若差也在质数列表中,则满足print(str(x)+'='+str(a)+'+'+str(b))break找质数所有两位质数中,个位数、十位数也都是质数的有哪些?用一个空白列表盛放数据生成两位数以内的质数列表将每个两位数质数的个位、十位拆解出来如果个位和十位也在质数列表中就抽取出来找质数s=[] #质数列表m=[] #个位和十位均为质数的列表for x in range(2,100):flag=Truefor y in range(2,x):if x % y ==0:flag=Falsebreakif flag:s.append(x) #将质数添加到s中print(s)for n in s:a=n//10 #十位数b=n%10 #个位数if a in s and b in s: #如果十位数、个位数均在s中m.append(n) #将n添加到m列表中print(m) 展开更多...... 收起↑ 资源预览