ysr 发表于 2012-12-5 10:43

[求助]素性测试

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

ysr 发表于 2021-9-12 19:08

*这是合数,有262位,用时2024.742秒

ysr 发表于 2021-9-12 21:12

本帖最后由 ysr 于 2021-9-12 13:13 编辑

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


*这是合数,有262位,用时2024.742秒

ysr 发表于 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

ysr 发表于 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

ysr 发表于 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

ysr 发表于 2021-10-5 17:51

本帖最后由 ysr 于 2021-10-6 13:14 编辑

修改了程序,运行结果:输入6958000001674999998647,输出39999999996/-963153757548161226858/-284052450990280028478265706/-4494100043812859563021744

ysr 发表于 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

ysr 发表于 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

ysr 发表于 2021-10-5 18:02

294915+24078843941=24079138859,24079138859*2+1=48158277713.
页: [1] 2 3 4 5 6 7 8
查看完整版本: [求助]素性测试