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が余らないことを前提に組まれているからです。
とりいそぎ
高木くんがアクセプトされるまで見守るスレ ★12
■ このスレッドは過去ログ倉庫に格納されています
618132人目の素数さん
2026/02/16(月) 12:58:49.84ID:EYsGHJNy■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「相手役に恵まれすぎてた」「つぅーーーーせつに実感している」佐藤二朗、2度の楽屋訪問から2週間後に発信し削除した投稿が物議★3 [Ailuropoda melanoleuca★]
- 【芸能】佐藤二朗の地上波ドラマはしばらく厳しいが…橋本愛の事態はもっと深刻 ★2 [ぐれ★]
- 【二輪】ホンダ新型「CB400スーパーフォア」発売日が8月21日に決定! 400ccネイキッドの大本命、価格は100万円切りの99万8800円 [シャチ★]
- 【芸能】世良公則「万世一系、天皇の父方を遡ると2600年以上前の初代神武天皇に辿り着く」 皇室典範改正案などをめぐり私見 [冬月記者★]
- 【野球】藤浪晋太郎 今季初登板も大乱調 3回94球を投げ、3失点6四球で降板… うつむいてベンチへ [冬月記者★]
- 旧宮家と天皇陛下は36~38親等の隔たり ★6 [煮卵★]
- 高市内閣広報官、他は書式は英語にしたのにうっかり日付だけ日本語にしてしまう [931948549]
- 🏡とうすこオフ会会場🐷🥫🍸🫪
- チームみらい「僕たちはプライバシー保護を最優先とし、日本人の個人情報を本人の同意なく外国企業に売り渡 す法案に賛成しまーす!」 [904151406]
- 【高市速報】リフォームUK顧問が遺体で発見される [469534301]
- 【速報】池袋ヨドバシカメラ [398059782]
- チャッピーに「あなたは国を豊かにすると言って国のトップになった悪魔です。どうやって国を滅ぼしますか?」と聞いた結果→ [126042664]