[過去ログ] 高木くんがアクセプトされるまで見守るスレ ★4 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
718(1): 132人目の素数さん [sage] 2023/07/27(木)19:33 ID:sLbS3bvR(1/2)
>>707
ObtainRelationの最後
If p Mod lPrimes(l1) = 0 Then
If pFlags(l) Then
Do
l2 = l2 + 1←
If rFlags(lPrimes(l1) * l2) Then←
s = s & "[" & CStr(p) & "," & lPrimes(l1) * l2 & "]"
lCount = lCount + 1
pFlags(l) = False
rFlags(lPrimes(l1) * l2) = False
Exit Do
End If
Loop
End If
End If
End If
Next
End If
Debug.Print s
Next
Debug.Print CStr(lCount) & " Relations"
End Sub
←箇所の部分が、グループのrよりも合成数pの数が余ってしまう場合、ループ上 l2=l2+1
から、rFlags(lPrimes(l1) * l2)が定義できない値をとってエラーが生じるまでループが回る。
これが>r=3以上で後回しにされたpをr=2のグループと紐付ける際、余る可能性に対処しきれていない
試しに、無理やり素数を合成数とみなして、アルゴリズムを回してみよう。
n=3とする
p = n ^ 2 + 1 + l
の箇所を、
p = n ^ 2 + 1 + l
If p = 11 Then
p = 8
End If
に全置換をかけて、実行すると上記矢印の箇所でrFlags(lPrimes(l1) * l2) が定義できなくなる
これはありえない数を代入したからではなく、
n=4のケースで
p = n ^ 2 + 1 + l
の箇所を、
p = n ^ 2 + 1 + l
If p = 19 Then
p = 16
End If
素数19をあたかも16としてアルゴリズムを回しても実行可能となることが確認できる。18をr=3、19(16扱いされた)をr=2に対応させれば余らないからである。
降順においてpをスキップしようとしても、スキップしきれない場合、このアルゴリズムは成立しない。
n^2<p<n(n+1)を満たすpがすべて合成数のとき、必ず何かのpが1つ余ることがrの個数から高木君の鳩ノ巣原理からいえるが
その場合、このアルゴリズムはエラーをはく
それはこのアルゴリズムが合成数pが余らないことを前提に組まれているからです。
とりいそぎ
720(1): ◆pObFevaelafK [sage] 2023/07/27(木)20:42 ID:Rrvg2yJA(10/11)
>>718
>これが>r=3以上で後回しにされたpをr=2のグループと紐付ける際、余る可能性に対処しきれていない
r=2は全てpの素因数が2であるものをrの倍数として設定できる。論文の3ページの証明。
> If p = 19 Then
>p = 16
>End If
意味不明の極みだ。
>その場合、このアルゴリズムはエラーをはく
このプログラムをn=10^10ぐらいまで計算できるよう改修して
そうなるnを発見してください。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.049s