ysr 发表于 2024-1-11 10:04

ysr 发表于 2024-1-10 14:56
输入m=6958000001674999998647 p=68683288435输出a=4b=265233816439.41597945753600000000c=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,这个也比较接近实际。

ysr 发表于 2024-1-11 16:06

原理就是我书中谈到的原理和方法:



ysr 发表于 2024-1-12 20:41

输入M=6958000001674999998647 p=71058122759 输出: a=1.37802458133561048242 b=293759519593.64012035043484344192 c=15655500003535429340849.38533692448852667122 d=1739500000376505509005.91714322665987891016 e=-4391591111415034403665548945222373191616413.14102011358471248227

ysr 发表于 2024-1-12 20:44

输入:a=1.37802458133561048242,b=293759519593.64012035043484344192,c=15655500003535429340849.38533692448852667122,d=1739500000376505509005.91714322665987891016,e=-4391591111415034403665548945222373191616413.14102011358471248227;输出结果:    x1,2=-103539272529.5357185833+ -17764530690.0943652860,x3,4=-3047911608.0115008949+ -17764530689.5905604359

ysr 发表于 2024-1-12 20:52

-103539272529.5357185833+17764530690.0943652860=-85,774,741,839.4413532973
-3047911608.0115008949+17764530689.5905604359=14,716,619,081.579059541

71058122759-14,716,619,081=56,341,503,678 这个低于实际了,这个四次方程方法效果不好。

ysr 发表于 2024-1-12 20:57

-103539272529.5357185833-17764530690.0943652860=-121,303,803,219.6300838693

-121,303,803,219.6300838693+71058122759=-50,245,680,460.6300838693
121,303,803,219.6300838693-71058122759=50,245,680,460.6300838693 这个也远低于实际了。

ysr 发表于 2024-1-12 21:19

85,774,741,839+71058122759=156,832,864,598,
156,832,864,598/2=78,416,432,299太大了,

85,774,741,839-14,716,619,081=71,058,122,758,
56,341,503,678+50,245,680,460=106,587,184,138,
106,587,184,138/2=53,293,592,069,

53,293,592,069+14,716,619,081=68,010,211,150 这个也是低于实际的,此方法效果不好。

ysr 发表于 2024-1-12 22:32

ysr 发表于 2024-1-11 01:40
2374834325+68683288434=71,058,122,759,

这个更接近实际,此方法好像还是有点效果的。

输入m=6958000001674999998649 p=71058122759 输出p2=71000484941这个更接近实际!

代码如下:

Private Sub Command1_Click()
Dim m, n
m = Trim(Text1)
n = Trim(Text2)
b16 = "9940934683879298"
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 = MPC(Trim(n), Trim(f1))
Text3 = "输入m=" & m & " p=" & n & "输出 p2=" & n2



End Sub

ysr 发表于 2024-1-12 22:36

输入m=6958000001674999998649 p=71058122759输出 p2=71000094129

代码如下:

Private Sub Command1_Click()
Dim m, n
m = Trim(Text1)
n = Trim(Text2)
b16 = "9940534683879298"
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 = MPC(Trim(n), Trim(f1))
Text3 = "输入m=" & m & " p=" & n & "输出 p2=" & n2




End Sub

ysr 发表于 2024-1-12 22:39

输入m=6958000001674999998649 p=71058122759输出 p2=70999996427

代码如下:

Private Sub Command1_Click()
Dim m, n
m = Trim(Text1)
n = Trim(Text2)
b16 = "9940434683879298"
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 = MPC(Trim(n), Trim(f1))
Text3 = "输入m=" & m & " p=" & n & "输出 p2=" & n2




End Sub
页: 1 2 3 4 5 6 [7] 8
查看完整版本: [求助]素性测试