数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 6640|回复: 71

[求助]素性测试

[复制链接]
发表于 2012-12-5 10:43 | 显示全部楼层 |阅读模式
判断如下1个数字是否素数?
1153103961384478448404925715924378885327554202134226047348028294505040734467336124656452525279797166397567399850900985140768071391715673547272680475009022731025540851253778962537039004520776708021234701340368231774597408929744933116431873027001298810225982471847
 楼主| 发表于 2021-9-12 19:08 | 显示全部楼层
*这是合数,有262位,用时2024.742秒
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-12 21:12 | 显示全部楼层
本帖最后由 ysr 于 2021-9-12 13:13 编辑

判断如下1个数字是否素数?
1153103961384478448404925715924378885327554202134226047348028294505040734467336124656452525279797166397567399850900985140768071391715673547272680475009022731025540851253778962537039004520776708021234701340368231774597408929744933116431873027001298810225982471847


*这是合数,有262位,用时2024.742秒
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-24 19:45 | 显示全部楼层
本帖最后由 ysr 于 2021-11-8 03:13 编辑

'细化公式的研究,其实就是解个2次方程

Private Sub Command1_Click()
Dim m, n
m = Trim(Text1)
n = Trim(Text2)
b16 = "9523934683879298"
q = zhengchuqy(MCC1(Trim(m), Trim(n)))
q = q & String(10, "0")
B1 = zhengchuqy(MCC1(MPC(Trim(q), 1 & String(10, "0")), MPC(Trim(n), 1)))
b2 = zhengchuqy(MCC1(MPC(Trim(B1), 1 & String(10, "0")), 2))
b3 = MbC(Trim(b2), Trim(b16))
b4 = Mid(b3, 1, Len(b3) - 16)
b5 = MPC1(1 & String(10, "0"), MbC(Trim(b4), 2))
q1 = MPC(Trim(q), MbC(Trim(n), Trim(b5)))
Print q1
r = zhengchuqyushu(MCC1(Trim(m), Trim(n)))
r1 = r & String(10, "0")
a1 = b5
b6 = MbC(Trim(a1), MbC(Trim(n), 2))
c6 = MPC(MPC1(Trim(r1), MbC(Trim(q), Trim(n))), MbC(MbC(Trim(n), Trim(n)), Trim(a1)))

d6 = MPC1(MbC(Trim(b6), Trim(b6)), MbC(MbC(Trim(a1), Trim(c6)), 4))
d7 = zhengchuqy(MBBC(Trim(d6)))
b7 = MPC(Trim(d7), Trim(b6))
f1 = zhengchuqy(MCC1(Trim(b7), MbC(Trim(a1), 2)))
n1 = MPC1(Trim(n), MbC(Trim(f1), 2))
n2 = MPC1(Trim(n), Trim(f1))
Text3 = n2




End Sub


Private Function zhengchuqyushu(sa As String) As String
If InStr(sa, "/") = 0 Then
zhengchuqyushu = 0
Else
zhengchuqyushu = Mid(sa, InStr(sa, "/") + 1)
End If


End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-5 09:35 | 显示全部楼层
本帖最后由 ysr 于 2021-10-5 05:38 编辑

'粗化公式研究,还没有完整,暂时发一下

Private Sub Command1_Click()
Dim a, B, c, d
m = Trim(Text1)
D1 = zhengchuqy(MCC1(Trim(m), 4))
n1 = zhengchuqy(MBBC(zhengchuqy(MCC1(Trim(D1), 3))))
n2 = zhengchuqy(MBBC(zhengchuqy(MCC1(Trim(D1), "20000000001"))))
p1 = MPC1(MbC(Trim(n1), 2), 1)
p2 = MPC1(MbC(Trim(n2), 2), 1)
a = MbC("9999999999", 4)
B = MPC(MbC("9999999999", MPC1(MbC(8, Trim(n2)), 2)), MbC(MPC(Trim(n1), Trim(n2)), 6))
n3 = MPC(Trim(n1), Trim(n2))
C1 = MPC1(Trim(n3), MbC(MbC(Trim(p1), 2), Trim(n3)))
C2 = MPC1(MbC(Trim(n3), Trim(p1)), Trim(C1))
c3 = MPC(Trim(C2), MbC("19999999998", MbC(Trim(p1), Trim(n1))))
c = "-" & c3
D2 = MPC(MPC1(Trim(n1), MbC(Trim(p1), MbC(Trim(n1), 3))), MbC(Trim(D1), 2))
d3 = MbC(Trim(n3), Trim(D2))
d = "-" & d3
Text2 = a & "/" & B & "/" & c & "/" & d


End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-5 13:50 | 显示全部楼层
本帖最后由 ysr 于 2021-10-5 09:29 编辑

粗化公式结果:输入:6958000001674999998647,输出:39999999996/23593075521038070/-76806666667440979572554299055658/-240794337678559481642478867952192/n1=24079728683p1=48159457367/n2=294915p2=589831
再输入一元三次方程的结果:输入1:  a=39999999996,  b=23593075521038070,  c=-76806666667440979572554299055658,  d=-240794337678559481642478867952192;  输出结果1:    x1=-43820001288.8845991798,  x2=-3.0648753571,  x3=43819411465.0613896024 m=-40771723327177243875774869147.9120667112 n=3497681488455218465707730811424252.6070740184i
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-5 17:51 | 显示全部楼层
本帖最后由 ysr 于 2021-10-6 13:14 编辑

修改了程序,运行结果:输入6958000001674999998647,输出39999999996/-963153757548161226858/-284052450990280028478265706/-4494100043812859563021744
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-5 17:53 | 显示全部楼层
本帖最后由 ysr 于 2021-10-6 13:17 编辑

'修改后的程序:

Private Sub Command1_Click()
Dim a, B, c, d
m = Trim(Text1)
D1 = zhengchuqy(MCC1(Trim(m), 4))
n2 = zhengchuqy(MBBC(zhengchuqy(MCC1(Trim(D1), 3))))
n1 = zhengchuqy(MBBC(zhengchuqy(MCC1(Trim(D1), "20000000001"))))
p1 = MPC1(MbC(Trim(n1), 2), 1)
p2 = MPC1(MbC(Trim(n2), 2), 1)
a = MbC("9999999999", 4)
B = MPC(MbC(MPC(Trim(n2), Trim(n1)), "40000000002"), MbC("9999999999", MPC1(MbC(8, Trim(n1)), 2)))
B = "-" & B
n3 = MPC(Trim(n2), Trim(n1))
C1 = MPC1(Trim(n3), MbC(MbC(Trim(p1), "20000000000"), Trim(n3)))
C2 = MPC1(MbC(Trim(n3), Trim(p1)), Trim(C1))
c3 = MPC(Trim(C2), MbC("19999999998", MbC(Trim(p1), Trim(n1))))
c = "-" & c3
D2 = MPC(MPC1(Trim(n1), MbC(Trim(p1), MbC(Trim(n1), "20000000001"))), MbC(Trim(D1), 2))
d3 = MbC(Trim(n3), Trim(D2))
d = "-" & d3
Text2 = a & "/" & B & "/" & c & "/" & d


End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-5 17:59 | 显示全部楼层
本帖最后由 ysr 于 2021-10-6 13:15 编辑

修改后的程序运行结果输入一元三次方程的结果:
输入1:  a=39999999996,  b=-963153757548161226858,  c=-284052450990280028478265706,  d=-4494100043812859563021744;  输出结果1:    x1=24079138856.6159630372,  x2=-330.8857900715,  x3=-294584.6182579001 m=111691678879510233391972021425639.0421832638 n=3554075478915886071098320416.8829468248i
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-5 18:02 | 显示全部楼层
294915+24078843941=24079138859,24079138859*2+1=48158277713.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-4-19 17:44 , Processed in 0.072266 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表