数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: ysr

[求助]素性测试

[复制链接]
 楼主| 发表于 2024-1-10 23:27 | 显示全部楼层
Private Sub Command1_Click()
Dim a, b, c
m = Trim(Text1)
p = Trim(Text2)
q = zhengchuqy(MCC1(Trim(m), Trim(p)))
m1 = Right(m, 2)
n1 = zhengchuqy(MCC(Trim(p), 2))
sd = 22
d = zhengchuqy(MCC(Trim(m), 4))
n1 = zhengliys2(Trim(n1), Val(sd))
d = zhengliys2(Trim(d), Val(sd))
If m1 Mod 4 = 1 Then
b = zhengchuqy(mcc2(mpc2(zhengchuqy(mcc2(mpc2(Trim(q), 1), Trim(p), Val(sd))), 1 & String(Val(sd), "0")), 2, Val(sd)))
Else
b = zhengchuqy(mcc2(mpc2(zhengchuqy(mcc2(mpc2(Trim(q), 3), Trim(p), Val(sd))), 1 & String(Val(sd), "0")), 2, Val(sd)))
End If
X = zhengliys2(1, Len(p) - 1)
bxn1 = mbc2(mbc2(Trim(b), Trim(X), Val(sd)), Trim(n1), Val(sd))
a = 4
b2 = mpc3(mpc2(mpc2(mbc2(8 & String(Val(sd), "0"), Trim(n1), Val(sd)), mbc2(mbc2(4 & String(Val(sd), "0"), Trim(b), Val(sd)), Trim(X), Val(sd))), mbc2(2 & String(Val(sd), "0"), Trim(X), Val(sd))), 2 & String(Val(sd), "0"))
If m1 Mod 4 = 1 Then
c = mpc2(mpc2(mpc3(mpc2(mpc2(mbc2(mbc2(4 & String(Val(sd), "0"), Trim(n1), Val(sd)), Trim(n1), Val(sd)), mbc2(8 & String(Val(sd), "0"), Trim(bxn1), Val(sd))), mbc2(mbc2(4 & String(Val(sd), "0"), Trim(n1), Val(sd)), Trim(X), Val(sd))), mbc2(2 & String(Val(sd), "0"), Trim(n1), Val(sd))), mbc2(mbc2(2 & String(Val(sd), "0"), Trim(b), Val(sd)), Trim(X), Val(sd))), mbc2(2 & String(Val(sd), "0"), Trim(X), Val(sd)))
d = mpc2(mpc2(mpc2(mpc2(mbc2(mbc2(2 & String(Val(sd), "0"), Trim(X), Val(sd)), Trim(d), Val(sd)), mbc2(mbc2(4 & String(Val(sd), "0"), Trim(bxn1), Val(sd)), Trim(n1), Val(sd))), mbc2(mbc2(2 & String(Val(sd), "0"), Trim(n1), Val(sd)), Trim(X), Val(sd))), mbc2(2 & String(Val(sd), "0"), Trim(bxn1), Val(sd))), mbc2(mbc2(2 & String(Val(sd), "0"), Trim(n1), Val(sd)), Trim(X), Val(sd)))
Else

c = mpc2(mpc2(mpc3(mpc2(mpc2(mbc2(mbc2(4 & String(Val(sd), "0"), Trim(n1), Val(sd)), Trim(n1), Val(sd)), mbc2(8 & String(Val(sd), "0"), Trim(bxn1), Val(sd))), mbc2(mbc2(4 & String(Val(sd), "0"), Trim(n1), Val(sd)), Trim(X), Val(sd))), mbc2(2 & String(Val(sd), "0"), Trim(n1), Val(sd))), mbc2(mbc2(2 & String(Val(sd), "0"), Trim(b), Val(sd)), Trim(X), Val(sd))), mbc2(4 & String(Val(sd), "0"), Trim(X), Val(sd)))
d = mpc2(mpc2(mpc2(mpc2(mbc2(mbc2(2 & String(Val(sd), "0"), Trim(X), Val(sd)), Trim(d), Val(sd)), mbc2(mbc2(4 & String(Val(sd), "0"), Trim(bxn1), Val(sd)), Trim(n1), Val(sd))), mbc2(mbc2(2 & String(Val(sd), "0"), Trim(n1), Val(sd)), Trim(X), Val(sd))), mbc2(2 & String(Val(sd), "0"), Trim(bxn1), Val(sd))), mbc2(mbc2(4 & String(Val(sd), "0"), Trim(n1), Val(sd)), Trim(X), Val(sd)))
End If
b2 = shuchujg(Trim(b2), Val(sd))
c = shuchujg(Trim(c), Val(sd))
d = shuchujg(Trim(d), Val(sd))

Text3 = "输入m=" & m & " p=" & p & "输出a=" & a & "  b=" & b2 & "  c=" & c & " d=" & d

End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""

End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-11 09:22 | 显示全部楼层
ysr 发表于 2024-1-10 01:13
输入m=6.958000001675E+21 p=68683288434输出a=4  b=245233816433.822  c=2.69128261764411E+21 d=2.358697 ...

输入1:  a=4,  b=245233816433.822,  c=2691282617644110000000,  d=23586970549716800000000000000000;  输出结果1:    x1=-50255171384.7934473669,  x2=-5526641361.8310263165+9316237009.9963167507i,  x3=-5526641361.8310263165-9316237009.9963167507i m=-995396524337510338252006895489106.1968660310 n=808397723900655353307114630054422.8874795179
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-11 09:24 | 显示全部楼层
实际6958000001674999998647=71000000041*97999999967
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-11 09:30 | 显示全部楼层
  68683288434+9316237009=77,999,525,443

68683288434+5526641361=74,209,929,795
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-11 09:34 | 显示全部楼层
ysr 发表于 2024-1-10 15:01
输入m=6958000001674999998649 p=68683288434输出a=4  b=265233816437.82171482933800000000  c=4064948386 ...

输入1:  a=4,  b=265233816437.82171482933800000000,  c=4064948386451971792139.82779669136000000000,  d=-11203029457610770294545588523848.35727868289400000000;  输出结果1:    x1=2374834325.0445712926644362582445,  x2=-34341644216.9313201428703345644996,  x3=-34341644217.5686798571286016937450 m=395979818022251521107073641633093.3229609404351981379615 n=17919353849945736430851.2972053671360678600664i
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-11 09:40 | 显示全部楼层
2374834325+68683288434=71,058,122,759,

这个更接近实际,此方法好像还是有点效果的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-11 09:56 | 显示全部楼层
ysr 发表于 2024-1-10 04:09
输入m=14585111 p=975输出a=4  b=830.102564102564  c=-2040316.05128205 d=48088500.0000001

实际14585 ...

实际14585111=173*84307
输入1:  a=4,  b=830.102564102564,  c=-2040316.05128205,  d=48088500.0000001;  输出结果1:    x1=-835.3619267860,  x2=23.8266334024,  x3=604.0096523580 m=-5180650442.3630538028 n=14913112566.8295705059i

975-835=140,这个还是接近实际的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-11 10:04 | 显示全部楼层
ysr 发表于 2024-1-10 14:56
输入m=6958000001674999998647 p=68683288435输出a=4  b=265233816439.41597945753600000000  c=4064948386 ...

输入1:  a=4,  b=265233816439.41597945753600000000,  c=4064948386561471129439.2719326673890000000,  d=-11203029455730576652764507051908.18176563222500000000;  输出结果1:    x1=2374834324.64600513561525446773,  x2=-34341644216.95021120806864025180,  x3=-34341644217.54978879193061421592 m=395979818009356154181720936086096.93898867454623884241 n=17919353849594507706351.41379591946839877053i

2374834324+68683288435=71,058,122,759,这个也比较接近实际。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-11 16:06 | 显示全部楼层
原理就是我书中谈到的原理和方法:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-12 20:41 | 显示全部楼层
输入M=6958000001674999998647 p=71058122759 输出: a=1.37802458133561048242 b=293759519593.64012035043484344192 c=15655500003535429340849.38533692448852667122 d=1739500000376505509005.91714322665987891016 e=-4391591111415034403665548945222373191616413.14102011358471248227
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 08:38 , Processed in 0.070312 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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