サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
購入・発注したい方
サービスを探す
プロ人材を探す
ノウハウ・素材を探す
ブログを探す
仕事・求人を投稿して募集
エージェントに人材を紹介してもらう
受注・働きたい方
出品する
単発の仕事を探す
継続 (時給/月給) の仕事を探す
エージェントに仕事を紹介してもらう
カテゴリ一覧
イラスト作成・漫画制作
デザイン制作
Web制作・HP作成・EC構築
動画編集・映像制作
集客・マーケティング相談
NEW
ビジネス代行・事務代行
音楽制作・ナレーション
IT相談・システム開発
ライティング・翻訳
コンサルティング・士業
生成AI活用・開発・制作
NEW
占い
悩み相談・カウンセリング
学習指導・資格・キャリア相談
住まい・美容・生活相談
オンラインレッスン・習い事
ハンドメイド制作
出張撮影・出張サービス
資産運用・副業の相談
NEW
弁護士検索・法律Q&A(法律相談)
サポート
はじめての方へ
ご利用ガイド
お困りのときは
ログイン
会員登録
サービスを探す
イラスト作成・漫画制作
>
デザイン制作
>
Web制作・HP作成・EC構築
>
動画編集・映像制作
>
集客・マーケティング相談
NEW
>
ビジネス代行・事務代行
>
音楽制作・ナレーション
>
IT相談・システム開発
>
ライティング・翻訳
>
コンサルティング・士業
>
生成AI活用・開発・制作
NEW
>
占い
>
悩み相談・カウンセリング
>
学習指導・資格・キャリア相談
>
住まい・美容・生活相談
>
オンラインレッスン・習い事
>
ハンドメイド制作
>
出張撮影・出張サービス
>
資産運用・副業の相談
NEW
>
>
プロ人材を探す
>
ノウハウ・素材を探す
ブログを探す
>
求人募集を投稿する
人材を紹介してもらう
仕事を探す
出品する
仕事を探す
仕事を紹介してもらう
出品する
仕事を紹介してもらう
求人募集を投稿する
人材を紹介してもらう
ブログを投稿
会員登録で10%割引クーポンを獲得!
会員登録で10%割引クーポンを獲得!
ココナラブログ
ホーム
ブログトップ
ブログ
IT・テクノロジー
4以上の偶数は必ず2つの素数の和で書けるのか
記事
IT・テクノロジー
アムールトラ
2022/03/15 16:56
「4以上の偶数は必ず2つの素数の和で書けるのか」。この問いは、私は中学のときに読んだホフスタッター『ゲーデル、エッシャー、バッハ』という本で知りました。言いたいことはつぎのようなことです。4は2+2と書けます。2は素数です。6は3+3と書けます。3は素数です。8は3+7と書けます。7は素数です。10は3+7と書いてもいいですし、5+5と書いてもいいです。5も素数です。このようなことです。これがあらゆる偶数で言えるでしょうか。問いそのものの主張することは中学生でもわかりますが、これを「できます」と証明した人もいなければ「この偶数はできません」と示した人もいないそうです。これはゴールドバッハ予想と言われ、未解決問題です。30年以上前に私がその本を読んだころ未解決問題で、2022年3月15日現在でも未解決問題らしいです。
そのころ、私は父からBASICの基礎を習いました。私はプログラミングにハマりました。およそ世の中でプログラミングできそうなことはした覚えがありますが、この予想の反例(成り立たない例)を見つけるプログラムも書きました。それは中学のころです。10代前半ですね。それから私は大学に行き、大学院に行き、発達障害の二次障害である精神障害にやられて数学者の道を閉ざされ、30歳である地方都市の私学の教員になったら徹底的に向いていなくて、11年、教員を勤めたあげく、事務員にさせられました。その教員の最後の年に、情報の実習助手を1年間、務めました。ちょうどいまから5年くらい前、2016年度の3学期、プログラミングの授業があり、私は41歳になっていましたが、そのプログラムをもう一度、書くことができました。よくわかりませんが、PENとかいう言語だった気がします。高校2年生の授業でしたが、そのとき、私のこのプログラムを書くことのできる生徒さんはいませんでした。かろうじてそれよりずっとやさしい「入力された数以下の素数をすべて出力する」というプログラムを書いた生徒さんは、京都大学に現役合格したものです。この話は前回の話と重なっていてすみません。
そして、障害者として就労移行支援事業所に通いながら学んだエクセル。ようやく私はVBAを理解しました。私は空気で理解することは極端に苦手ですが、逆に論理的に説明を受けるとよく理解できるのです。学生時代に勉強ができた(正確には勉強しかできなかった)のも、これが原因です。私は異様に学歴が高いですが、多くの人が普通にできることがほとんどできない「障害者」なのです。その就労移行のテキストは極めて論理的に、空気の読めない人でも理解できるように、まるで障害者向けのように書かれており、私にはそのテキストは向いていました。私が覚えた手数は少ないですが(IfとForとDoくらいではないかと)、だいたいエクセルのマクロで書けることはほとんど書けるようになってしまいました。そして、46歳になり、そのゴールドバッハ予想のプログラムをみたび書くことができました。半日くらいで書けたと思います。この記事のサムネにスクショをはっておりますが(字が細かすぎたら申し訳ございません)、このように、2000は3+1997だったりするのです。小さい素数の順番に調べているので、こうなるわけですが、こう見ていると、いかにも成り立ちそうな予想です。しかし、証明した人はいないのですね。このプログラムで反例が出たら大変です。世界的な大発見になってしまいます(笑)。でも、世の中にはこういうプログラムを昼夜、走らせている研究者はいるでしょうけどね。もっとずっと大きい偶数まで確かめてあるでしょうね。
以下にコードをさらしますね。
Sub ゴールドバッハ予想()
Dim a As Long
Dim b As Long
Dim i As Long
Dim j As Long
Dim p As Long
Dim q As Long
Dim n As Long
Dim m As Long
Dim s As Long
Dim i2 As Long
Dim n2 As Long
Do
a = InputBox("いくつから始めますか。4以上の整数を入力してください。")
Loop Until a Mod 2 = 0 And a >= 4
Do
b = InputBox("いくつまで調べますか。入力された数以下の整数まで調べます。")
Loop Until b >= a
Range("A1").Select
Do While a <= b
Do While i <= a
For i = 2 To a
n = 0
For j = 1 To i
If i Mod j = 0 Then
n = n + 1
End If
Next
If n <= 2 Then
' ここは非常に想像通りのものが出た。ここまでは間違っていない
' ActiveCell = i
' ActiveCell.Offset(1).Activate
p = i
End If
' Next
' ActiveCell = p
' ActiveCell.Offset(1).Activate
q = a - p
If q <= 1 Then
MsgBox "反例が見つかりました!" & a & "です!"
Exit Do
End If
n2 = 0
For i2 = 1 To q
If q Mod i2 = 0 Then
n2 = n2 + 1
End If
Next
If n2 <= 2 Then
ActiveCell = a & "=" & p & "+" & q
ActiveCell.Offset(1).Activate
Exit Do
End If
Next
Loop
If q <= 1 Then
Exit Do
End If
a = a + 2
Loop
End Sub
Sub すべて消す()
ActiveSheet.Cells.Clear
End Sub
#ゴールドバッハ予想
#エクセルVBA
#未解決問題
#素数
一覧に戻る