メルセンヌ数
メルセンヌ数は2^素数-1であらわされる数ですが
Excelで9番目のメルセンヌ素数 2^61-1を計算すると
2305843009213690000
と表示されてしまいます。
正しくは 2305843009213693951 (19桁)なのですが、
これをExcelで求めたいのです(文字列でOK)
それだけだと単に文字列表示(="2305843009213693951")
になってしまうので、セルB3に応じて2^n-1 を計算してください
50 <= n <= 61
の範囲とします。
参考のため答えとなる値をD6:D17に表示していますが、
当然参照禁止です。
(niさん)
解答用参考ファイル: 20200513をダウンロード
出題者を除く4名の方の解答作成完了宣言の後に、このスレに直接解答式をお書きください。
この問題に関しては解答用の別スレは作成いたしません。
**************************************************************************************************
完全に昼夜が逆転してます^^
34
=INT(2^B3/10^10)&MOD(2^B3,10^10)-1
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 12時30分
modでできるのかあ
やったのはmaronさんと似た手法?でした。
=INT(2^B3/10^7)&RIGHT(RIGHT(2^40,7)*2^(B3-40),7)-1
投稿情報: min | 2020年5 月15日 (金曜日) 午後 12時36分
やはり、
34は、
全く同じ
0
のない共通の
位置、丁度良い所に
あったもんだ
気づいてしまった
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 12時38分
忘れた。2^50~2^100 検証済みの132
=IF(2^B3>10^20,INT(2^B3/10^20),"")&RIGHT(IF(2^B3>10^20,0,"")&INT(MOD(2^B3,10^20)/10^10),10)&RIGHT(0&MOD(MOD(2^B3,10^20),10^10)-1,10)
下は長桁数アドインでちゃんと計算した2^n-1
61 2305843009213693951
62 4611686018427387903
63 9223372036854775807
64 18446744073709551615
65 36893488147419103231
66 73786976294838206463
67 147573952589676412927
68 295147905179352825855
69 590295810358705651711
70 1180591620717411303423
71 2361183241434822606847
72 4722366482869645213695
73 9444732965739290427391
74 18889465931478580854783
75 37778931862957161709567
76 75557863725914323419135
77 151115727451828646838271
78 302231454903657293676543
79 604462909807314587353087
80 1208925819614629174706175
81 2417851639229258349412351
82 4835703278458516698824703
83 9671406556917033397649407
84 19342813113834066795298815
85 38685626227668133590597631
86 77371252455336267181195263
87 154742504910672534362390527
88 309485009821345068724781055
89 618970019642690137449562111
90 1237940039285380274899124223
91 2475880078570760549798248447
92 4951760157141521099596496895
93 9903520314283042199192993791
94 19807040628566084398385987583
95 39614081257132168796771975167
96 79228162514264337593543950335
97 158456325028528675187087900671
98 316912650057057350374175801343
99 633825300114114700748351602687
100 1267650600228229401496703205375
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 12時45分
私の34も132も通常では無茶苦茶で正しく動く訳がないんですが・・・
これ2^nが二進では有効桁数が1ビットって特殊事情で動きます。
mod(2^89,10^20) をやった場合
19642690137449562112
となりますから、Excelではまともに表現できるわけがありませんが、二進数の世界では
有効部分だけ取り出すと、Hex表示で
11098DA9BCBC
と40ビット足らずです。そのため、10^20のModが桁落ちせず、後の10^10のModがちゃんと機能してるわけです。
みなさんのさらっと見ただけなんでこれからちゃんと拝見します。
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 01時14分
うーーん、minさんのとジョー3の良く分からん・・・
ジョー3なんでπがでてくるんだろう???
しかし、不思議なのは全員上位桁もとめるのにLeftですね。
私なんかの発想だと、有効数字的に15桁くらいまでは信用できるから、11桁以上の部分は、10^10で割って端数切り捨てれば良いって方向にストレートに行っちゃって、Leftってのは1秒も考えなかったです。
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 01時39分
minさんの、どうやら本格的に分割して長桁数の計算やる方式みたいですね。
私も初期はそういう発想で75くらいでやってました。ただ変形した結果50になったんでしょうが、ちゃんとした道筋は相変わらず分かりません。
ジョー3のπは依然としてまるっきり謎w
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 01時51分
>しかし、不思議なのは全員上位桁もとめるのにLeftですね。
ですね~
桁数を合わせるのに苦労してます。INTにすればよかった。
投稿情報: ni | 2020年5 月15日 (金曜日) 午後 02時52分
>ジョー3のπは依然としてまるっきり謎w
そう思ってもらいたかった。
ほんとは、3.1前後で、、良いのだ。
>ジョー3のπは依然としてまるっきり謎w
もっと、ほかの方も言ってくれないかな――
pi() を
3.1 にすれば、、
1文字、、減るのだけどね、、、
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 03時07分
>15桁くらいまでは信用できるから、11桁以上の部分は、10^10で割って端数切り捨
私も、34はsakudaさんと、同じく 1nt 使いました。
上位けたを、、、4段階に調整したかったので、、、
Left と pi() に登場してもらいました。
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 03時14分
2007は既にヘルプが使えないので確かではありませんが
皆さんが使われています
MODは確か134217727以上はエラーだと思っていました
故に端から頭に浮かんでいませんでした
投稿情報: からくち | 2020年5 月15日 (金曜日) 午後 04時13分
>2007は既にヘルプが使えないので確かではありませんが
ローカルヘルプありましたし、2016でもローカルヘルプ使えますけど?
(VBAの方は2013からダメ)
調べたこともありませんが、Modで上限と言うのは覚えがないです。
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 04時21分
mod 以前に調べたとき、
限界があって、それを超えると エラーになった気がします。
今実験しましたら、、2007 でね、、
=mod(2^60,10^10)-1
は
4606846975
となりますが、、
=mod(2^61,10^10)-1
だと、、、叱られます。
#NUM!
となります
(XPに入ってる、、2007エクセルで実験)
2013は、、、
元気に答えます。
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 05時15分
=mod(2^89,2)
=mod(2^89,10^10)
は2016でエラー
ところが、=mod(2^89,10^20)はOK
どうも、引数の大きさがどうこうと言うより、引数の大きさの違いみたいです。
剰余をもとめるための計算の途中で少数点をそろえた際、小さいほうが有効数字からはみ出しちゃうとかそう言う理由なのかなと推測してます。
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 05時29分
しかし、こんなとこで、2007と2013で違いがあるってのは不思議ですね・・・
Win7のマシン立ち上げてテストしてみるかな?
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 05時31分
MODて確か134217727以上はエラーになると思っていました
勿論ですが2007ではですが
先にヘルプ終了なので、、、
故に端から頭に全く出て来ませんでした
皆さん素晴らしいです
投稿情報: からくち | 2020年5 月15日 (金曜日) 午後 05時42分
>故に端から頭に全く出て来ませんでした
>皆さん素晴らしいです
・・・・・??
そうも言えるのかな――――
でも、、、昔の実験をすべて忘れて・・・・
行き当たりばったりのジョー・・・
とも、言えるのだけどね―――・・・・
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 05時46分
ジョー3の続きでテストしてみた
2003、2007は
Mod(2^x,10^10)
x=60まで
2010~2016
x=73まででした。
こんな違いあるんだ^^;
投稿情報: y sakuda | 2020年5 月15日 (金曜日) 午後 05時56分
問題を見て最初に頭に浮かんだのは
15桁以上をどう獲得するのかな、、、でした
そこで少し弄ったらエクセル君は知っている
でも教えないよ、、、そんな感じでした
教えて貰えないなら覗けば良い
桁の下の方なのでMODとかだけど桁数が多過ぎ
何を使えば良い、、、
弄り初めたら久々に弄ったせいか面白くなってしまい
そっちに集中、、、そんな感じでした
ところでわたしの投稿が最初出ませんでした
今見たら同じ様に2個出てる、、、分からない
投稿情報: からくち | 2020年5 月15日 (金曜日) 午後 06時44分
無茶な問題にお付き合いくださり、ありがとうございました
投稿情報: ni | 2020年5 月15日 (金曜日) 午後 08時35分
さて、、、酔っ払い
2作目
3作目・・・・・
でーた、、、
どこへ行ったかな―――
minさんと、、
sakudaさんに、、、
送らねば、、、、
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 08時48分
で、、、
さがして、
おくったが、、、
日本語が、、、難しい
物語は、、、能力がないジョー
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 10時56分
この問題
上手くいけば、、、10作ぐらい出来るかも、、、
私:5作
皆さん、、、独自バージョンを考えたら、、、+5作・・・
将棋問題みたいにね、、、、
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 11時05分
超簡単2問目
(物語無し)
の本語がほとんどないので、、、
これは直接送りました。
宜しく!!くまぷーさん、、、
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 11時18分
>これは直接送りました。
> 宜しく!!くまぷーさん、、、
↓のことですよね?
了解しています。(^^ゞ
>>問題一つ送りました。
>有り難うございます。
>ジョー3さん好みの問題ですね。
>このテクニックを実務で使ったことがあります。
>投稿情報: くまぷー | 2020年5 月15日 (金曜日) 午前 08時06分
投稿情報: くまぷー | 2020年5 月15日 (金曜日) 午後 11時26分
前回の
兄弟作です。
似てるので
スパムと判断された?
投稿情報: jyo3 | 2020年5 月15日 (金曜日) 午後 11時36分
あ、別のですね。来ていました。
申し訳ありません。
前のと似ているので一緒に
出した方がいいかと思います。
投稿情報: くまぷう | 2020年5 月15日 (金曜日) 午後 11時49分