資源簡介 (共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.少兒編程課找質(zhì)數(shù)無限循環(huán)語句while True:…if 條件:…break在不能預(yù)先明確知道循環(huán)次數(shù)的時(shí)候,只能使用while進(jìn)行循環(huán),當(dāng)條件滿足時(shí)使用break語句退出循環(huán)列表中元素的添加append(元素):向列表容器中添加內(nèi)容s=[1,2,3,4,5,6]s.append(7)s.append(8)print(s)又稱為素?cái)?shù),在大于1的自然數(shù)中除了1和它本身以外不能再被其它數(shù)整除自然數(shù)中不是質(zhì)數(shù)的數(shù)字稱為合數(shù)任何一個(gè)合數(shù)都可以拆分為若干個(gè)質(zhì)數(shù)之積。拆解的過程稱為分解質(zhì)因數(shù)質(zhì)數(shù)打印100以內(nèi)的所有質(zhì)數(shù)根據(jù)素?cái)?shù)的定義,遍歷從2開始的所有兩位數(shù)字定義空白列表容器盛放素?cái)?shù)根據(jù)素?cái)?shù)定義,遍歷從2開始到兩位數(shù)自身-1的所有數(shù)字,與兩位數(shù)自身做求余操作根據(jù)第二步的執(zhí)行結(jié)果,判定兩位數(shù)是否為質(zhì)數(shù)。如果是則放到類比容器中找質(zhì)數(shù)找質(zhì)數(shù)s=[]for x in range(2,100): #遍歷所有2~99的數(shù)字flag=True #經(jīng)過下面的循環(huán),flag還為True,則為質(zhì)數(shù)n=2 #從2開始到當(dāng)前數(shù)字-1while nif x % n==0: #如果當(dāng)前數(shù)字被除了1和本身以外的數(shù)字整除了flag=False #將flag改為False,并中止對(duì)當(dāng)前數(shù)字后續(xù)數(shù)的判斷breakelse:n+=1 #不斷增大n的數(shù)字,n會(huì)從2增加到x-1if flag: #凡經(jīng)過while循環(huán)flag仍為Trues.append(x) #則證明該數(shù)字是素?cái)?shù)print(s)輸入一個(gè)數(shù)字,判斷是否為質(zhì)數(shù)獲取用戶輸入的內(nèi)容,并轉(zhuǎn)為數(shù)字利用一個(gè)flag記錄判定結(jié)果,開始判定前flag的值為True根據(jù)素?cái)?shù)定義,遍歷從2開始到輸入數(shù)字-1的所有數(shù)字,并與輸入數(shù)字做求余操作如果有可以除盡的數(shù)字(求余為0),則將flag設(shè)置為False,并終止循環(huán)循環(huán)結(jié)束后,如果flag值為True,則代表用戶輸入的是質(zhì)數(shù)。如果flag的值為False,則代表用戶輸入的不是質(zhì)數(shù)判斷質(zhì)數(shù)判斷質(zhì)數(shù)n=input("請輸入要判斷的數(shù):")n=int(n)flag=Truefor x in range(2,n): #遍歷所有2~n-1的數(shù)字if n % x==0:flag=Falsebreakif flag:print("YES")else:print("NO")找質(zhì)數(shù)找出所有各位數(shù)字之積為質(zhì)數(shù)的兩位數(shù)創(chuàng)建一個(gè)空白列表盛放數(shù)字遍歷所有的兩位數(shù)字獲得當(dāng)前數(shù)字的個(gè)位數(shù)和十位數(shù),如果兩者之積為質(zhì)數(shù),則將兩位數(shù)放入列表中找質(zhì)數(shù)s=[]for x in range(10,100):a=x//10 #取兩位數(shù)的十位數(shù)b=x%10 #取兩位數(shù)的個(gè)位數(shù)n=a*b #計(jì)算兩數(shù)之積if n>1: #兩數(shù)之積有可能是0或者1,這些都不是質(zhì)數(shù)flag=Truefor y in range(2,n): #遍歷2至n-1if n % y==0: #如果能整除,說明n不是質(zhì)數(shù)flag=Falsebreakif flag: #經(jīng)過上面循環(huán)如果flag還為True則說明n為質(zhì)數(shù)s.append(x) #將x添加到s中print(s)哥德巴赫猜想史上和質(zhì)數(shù)有關(guān)的數(shù)學(xué)猜想中,最著名的當(dāng)然就是“哥德巴赫猜想”了。哥德巴赫1742年給大數(shù)學(xué)家歐拉的信中提出了以下猜想:任意大于2的偶數(shù)都可寫成兩個(gè)質(zhì)數(shù)之和。但是時(shí)至今日,哥德巴赫猜想也沒有從數(shù)學(xué)上給出完備的證明。目前最接近的論證是1966年,中國的陳景潤證明了"1 + 2" 。20世紀(jì),隨著計(jì)算機(jī)技術(shù)的發(fā)展,可以證明對(duì)于非常大的數(shù)始終是成立的。可是自然數(shù)是無限的,誰知道會(huì)不會(huì)在某一個(gè)足夠大的偶數(shù)上,突然出現(xiàn)哥德巴赫猜想的反例呢?哥德巴赫猜想哥德巴赫猜想:每個(gè)大于2的偶數(shù)都可以表示成兩個(gè)質(zhì)數(shù)的和。請將100以內(nèi)的所有偶數(shù)表示為兩個(gè)質(zhì)數(shù)之和。哥德巴赫猜想哥德巴赫猜想:每個(gè)大于2的偶數(shù)都可以表示成兩個(gè)質(zhì)數(shù)的和請將100以內(nèi)的所有偶數(shù)表示為兩個(gè)質(zhì)數(shù)之和獲得一個(gè)100以內(nèi)所有的質(zhì)數(shù)列表獲得一個(gè)100以內(nèi)所有的偶數(shù)列表遍歷偶數(shù)列表,從質(zhì)數(shù)列表中找是否存在兩個(gè)質(zhì)數(shù)之和等于當(dāng)前偶數(shù)找到之后打印到控制臺(tái)哥德巴赫猜想獲取質(zhì)數(shù)列表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("質(zhì)數(shù)列表:",s)哥德巴赫猜想獲取偶數(shù)列表m=[]for x in range(4,100):if x %2==0:m.append(x)print("偶數(shù)列表:",m)哥德巴赫猜想偶數(shù)列表中的數(shù)字可以表示為兩個(gè)質(zhì)數(shù)列表中的數(shù)字之和:for x in m: #遍歷偶數(shù)列表for y in s: #遍歷質(zhì)數(shù)列表a=yb=x-y #使用偶數(shù)減去當(dāng)前的質(zhì)數(shù)if b in s: #若差也在質(zhì)數(shù)列表中,則滿足print(str(x)+'='+str(a)+'+'+str(b))break找質(zhì)數(shù)所有兩位質(zhì)數(shù)中,個(gè)位數(shù)、十位數(shù)也都是質(zhì)數(shù)的有哪些?用一個(gè)空白列表盛放數(shù)據(jù)生成兩位數(shù)以內(nèi)的質(zhì)數(shù)列表將每個(gè)兩位數(shù)質(zhì)數(shù)的個(gè)位、十位拆解出來如果個(gè)位和十位也在質(zhì)數(shù)列表中就抽取出來找質(zhì)數(shù)s=[] #質(zhì)數(shù)列表m=[] #個(gè)位和十位均為質(zhì)數(shù)的列表for x in range(2,100):flag=Truefor y in range(2,x):if x % y ==0:flag=Falsebreakif flag:s.append(x) #將質(zhì)數(shù)添加到s中print(s)for n in s:a=n//10 #十位數(shù)b=n%10 #個(gè)位數(shù)if a in s and b in s: #如果十位數(shù)、個(gè)位數(shù)均在s中m.append(n) #將n添加到m列表中print(m) 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫