重新理解素数
<hr>
重新定义素数的取法
素数验证,如果说A是素数,我们用它分别除以它根号以下的素数,只要都不能整除,那么,A就是素数。
解析:
如,验证97是不是素数,因为,√97≈9.8,小于9.8的素数有:2,3,5,7,因为,97分别除以这些数都不能整除,所以,97是素数。
输出素数
rec = int(input())
for i in range(2,rec):
for j in range(2,i):
if i%j==0:
break
else:
print(i)
指定数下 范围输出素数
import math
n = int(input())
for i in range(2,n):
for j in range(2,int(math.sqrt(i)+1)):
if i % j ==0:
break
else:
print(i)
判断素数 1 (error)
# 输出 intstr 的平方根 下的素数 [2, 3, 5, 7, 11, 13],并与之整除,若能整除,则为合数,不能则为素数
# 并判断是否为素数
import math
intstr = int(input())
reclist = []
for i in range(2,int(math.sqrt(intstr))):
for j in range(2,i):
if i%j==0:
break
else:
reclist.append(i)
print(reclist)
for k in reclist:
if intstr % k == 0:
break
else:
print("是素数")
函数判断素数
import math
def isPrime(n):
if n <=1:
return False
for i in range(2,int(math.sqrt(n) +1 )):
if n % i ==0:
return False
else:
return True
res = isPrime(4)
print(res)
在证明猜想成立的过程下,建议先看上篇笔记 (重新定义素数的取法)
小素数
小素数就是偶数平方根以下的素数。
如,偶数68=7+61=31+37,按猜想为2对,我这里称它为1个素数对:31+37。
2个数相加等于偶数的组合这里称为数对:204/2=102个数对。
javascript:;
由上图可知:
102个数对中存在由2,3,5,7,11,13,这些素因子组成的合数形成的数对,我们把它们进行筛出后,剩余的就是素数对了。
删除含素因子2的合数组成的数对
因偶数204/2=102,即,用2乘以1到102的得数,都能被2整除,我们都把它们视为含素因子2的合数,共102/2=51个数对,剩余51个数对;删除数对的计算式为:102*1/2=51对。即,当素因子N,能够整除偶数时,素因子N删除偶数数对的1/N,剩余数对的(N-1)/N。
删除含素因子3的合数组成的数对
主要:删除数对的计算式为51/3=17对,同理:当素因子N,能够整除偶数时,素因子N删除偶数数对的1/N,剩余数对的(N-1)/N。
解析:因偶数204/3=68,素因子2删除能被2整除的数后,68内剩余的数为奇数共68/2=34个奇数,因偶数204能被3整除,即能被3整除的数是对称组合的,34个数组成34/2=17个数对,删除后还剩余51-17=34个数对;
删除含素因子5的合数组成的数对
主要:计算式为34*2/5=13.6对。当素因子N,不能够整除偶数时,素因子N删除偶数数对的2/N,剩余数对的(N-2)/N,下同。
解析:因偶数204/5≈40(不能整除),在40之内,素因子2和3删除后的剩余数为:1,5,7,11,13,17,19,23,25,29,31,35,37,我们把素数乘以这13个数都视为合数(1*5不属于,也删除。下同),删除13个数对,还剩余21对
删除含素因子7的合数组成的数对
主要:按计算式为21*2/7=6对,删除数与计算数相符。还剩余21-6=15对;
解析:因偶数204/7≈29(不能整除),在29之内不能被素数2,3,5整除的:1,11,13,19,23,29分别乘以7共删除6个数对,其实,在29之内不能被素数2,3,5整除的数还有7和17乘以7尾数为9,因偶数204-尾数9,其对称数已被5删除
删除含素因子11的合数组成的数对
因偶数204/11≈18(不能整除),在18之内不能被素数2,3,5,7整除的:1,11,13,17分别乘以11共删除4对。按计算式为15*2/11≈2.7,实际删除4对,还剩余15-4=11对;
…………
Finally
总计算式为204*(1/2)*(1/2)*(2/3)*(3/5)*(5/7)*(9/11)*(11/13)=10.08,实际为10对,与计算数基本相符。所用计算公式为(N-1),若不能整除整除原数时,(N-2)
说明:第一个1/2为偶数组成数对的计算,第二个1/2为素因子2删除后的剩余数对,2/3为素因子3删除后的剩余数对,素因子2,3都能整除偶数,剩余数对为(N-1)/N;后面的素因子不能整除偶数剩余数对为(N-2)/N。