使用假设成立法求质数 | 学习笔记

简介: 快速学习 使用假设成立法求质数

开发者学堂课程【Python入门 2020年版使用假设成立法求质数】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10276


使用假设成立法求质数


# 2~100

for i in range(2,101):

for j in range(2,int(i ** 0.5)):

if i % j == 0:

#除尽了,说明 i 是合数

flag = False

break

还可以有别的方式:

for i in range(2,101):

flag = True#每次都假设i是一个质数

for j in range(2,int(i ** 0.5)):

if i % j == 0:

#除尽了,说明i是个合数

flag = False

break

i=9时,假设是质数,9%2不等于0,所以不会走 flag=False break9%3时,if i % j == 0就等于0。就进入,把9flag 改成 False,直接停掉它。走完后,9flag False

比如i=1111是质数,就会不断的除2,结果不是0,不会进来;再除34,5,6,7,8,9,10都会有余数,就会不进入。

整个内循环走完了,flag 依然是 Ture,等到 for 循环走完了,

for i in range(2,101):

flag = True#每次都假设i是一个质数

for j in range(2,int(i ** 0.5)):

if i % j == 0:

#除尽了,说明 i 是个合数

flag = False

break

if flag: #可以简写成:

if flag == Ture:

print(i是质数’)

ifTure,就会走下面的代码:

if flag:#if flag == Ture:

print(i, ‘是质数’)

运行结果:

C:\Users\chris\AppData\Local \Programs \Python\Python37\python.exe C:/Users/chr1s/Desktop/Python 基础/Day05-字符

2是质数
3
是质数
4
是质数
5
是质数
6
是质数
7
是质数
8
是质数
9
是质数
11
是质数
13
是质数
15
是质数
17
是质数
19
是质数
23
是质数

Process finished with exit code 0

以上代码有错,689、都认为是质数,要加1,因为如果判断9,9开方等于3,它正好是2~3,取不到3。没有便利到i

for i in range(2,101):

flag = True #每次都假设i是一个质数

for j in range(2,int(i ** 0.5) +1 ):

if i % j == 0:

#除尽了,说明 i 是个合数

flag = False

break

if flag: #可以简写成:if flag == Ture:

print(i是质数’)

if Ture,就会走下面的代码:

if flag: #if flag == Ture:

print(i, ‘是质数’)

运行结果:

C:\Users\chris\AppData\Local \Programs \Python\Python37\python.exe C:/Users/chr1s/Desktop/Python 基础/Day05-字符

2是质数
3
是质数
5
是质数

Process finished with exit code 0
假设 i 是质数,只要除尽就说明假设不成立。

相关文章
|
6月前
40.验证哥德巴赫猜想:一个大于2的偶数总可以分解成两个素数的和
40.验证哥德巴赫猜想:一个大于2的偶数总可以分解成两个素数的和
59 5
|
算法 C语言
【C语言】判断一个数是否为素数(素数求解的N种境界)(下)
【C语言】判断一个数是否为素数(素数求解的N种境界)(下)
117 0
|
6月前
|
C语言
【C 语言经典100例】C 练习实例33 - 质数(素数)判断
【C 语言经典100例】C 练习实例33 - 质数(素数)判断
38 0
|
6月前
求十个数的乘积
求十个数的乘积
33 0
|
测试技术 C语言
【C语言】判断一个数是否为素数(素数求解的N种境界)(上)
【C语言】判断一个数是否为素数(素数求解的N种境界)
172 0
(博弈)(思维)(试除法判断质数)B - 是我仅会的GCD还是素数筛呢? G. Goodbye
(博弈)(思维)(试除法判断质数)B - 是我仅会的GCD还是素数筛呢? G. Goodbye
54 0
|
算法
基础算法练习200题16、打印质数
基础算法练习200题16、打印质数
84 0
基础算法练习200题16、打印质数
|
Python
Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数
Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数
141 0
Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数
|
人工智能
PAT乙级1007.素数对猜想(20分)
PAT乙级1007.素数对猜想(20分)
93 0