前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1645239402/
探検
C++相談室 part160
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/04/15(金) 08:39:32.42ID:WMzvufu2663デフォルトの名無しさん
2022/05/06(金) 15:28:31.87ID:dNZjdeLr664デフォルトの名無しさん
2022/05/06(金) 16:06:26.56ID:DVOROdCT >>661
WM_POWERBROADCAST ggrks
WM_POWERBROADCAST ggrks
665デフォルトの名無しさん
2022/05/06(金) 17:03:00.97ID:Ai+BgFMJ 圧縮方式がなんだろうと可逆圧縮はデータ長が短くなるケースがあるならデータ長が長くなるケースが必ずある
65536通りの表記がある2byteデータで、1通りが1byteに圧縮できるとしよう。(0x0000→0x00)
残りの65535通りから256通りの表現を奪うので(0x00から始まるパターンが作れなくなる)、3byte長で表現しなきゃいけないやつが出てくる。
このへんはトレードオフだが、テキストデータとか一定の傾向があるデータのデータ長を短くできりゃいいだろ?
ランダムデータとか圧縮済みデータを圧縮するなんて考えない
65536通りの表記がある2byteデータで、1通りが1byteに圧縮できるとしよう。(0x0000→0x00)
残りの65535通りから256通りの表現を奪うので(0x00から始まるパターンが作れなくなる)、3byte長で表現しなきゃいけないやつが出てくる。
このへんはトレードオフだが、テキストデータとか一定の傾向があるデータのデータ長を短くできりゃいいだろ?
ランダムデータとか圧縮済みデータを圧縮するなんて考えない
666デフォルトの名無しさん
2022/05/06(金) 17:26:03.51ID:dNZjdeLr >>665
まぁ、そうですね。
LZWの性質上、一回出たモノを辞書から洗って一個追加して辞書に返す。という事をやるのです。
エントロピー圧縮では無いので乱数を詐欺れたら無敵だったのですけど、現実は厳しい。
まぁ、そうですね。
LZWの性質上、一回出たモノを辞書から洗って一個追加して辞書に返す。という事をやるのです。
エントロピー圧縮では無いので乱数を詐欺れたら無敵だったのですけど、現実は厳しい。
667はちみつ餃子 ◆8X2XSCHEME
2022/05/06(金) 18:18:33.94ID:lqMO+ITd データ圧縮時にあり得る最大伸長率をまとめたサイトをどこかで見たような記憶があったんだけど
あらためて探すと見つからない……。 幻だったんだろうか。
あらためて探すと見つからない……。 幻だったんだろうか。
668デフォルトの名無しさん
2022/05/06(金) 18:30:36.95ID:jJyKyUF7669デフォルトの名無しさん
2022/05/06(金) 20:00:41.83ID:AeHK35lN670デフォルトの名無しさん
2022/05/06(金) 20:02:30.43ID:L9gk7Obb >>664
Linuxではどうすればいいの?
Linuxではどうすればいいの?
671デフォルトの名無しさん
2022/05/06(金) 20:05:10.12ID:O7Z7ebwH 内部クラスを外部クラスが継承するって不可能?
struct A : A::B { struct B {}; };という特殊な事やりたいんやけど前方宣言とかできないっぽいし無理やろか
struct A : A::B { struct B {}; };という特殊な事やりたいんやけど前方宣言とかできないっぽいし無理やろか
672デフォルトの名無しさん
2022/05/06(金) 20:10:36.04ID:DVOROdCT673デフォルトの名無しさん
2022/05/06(金) 20:36:05.94ID:bNsO3W2u >>671
無理だろ
無理だろ
674デフォルトの名無しさん
2022/05/06(金) 22:11:28.52ID:j0ngZiiW >>623
無理だろ
無理だろ
675デフォルトの名無しさん
2022/05/06(金) 23:29:10.82ID:j0ngZiiW >>597
30分くらいで計算できた
30分くらいで計算できた
676デフォルトの名無しさん
2022/05/06(金) 23:34:15.82ID:j0ngZiiW 計算結果いる?
5GBくらいのテキストファイル
5GBくらいのテキストファイル
677デフォルトの名無しさん
2022/05/07(土) 00:00:32.86ID:8cLtDCyH ああもう48年後か…
おまいらまだ生きてるか?
おまいらまだ生きてるか?
678デフォルトの名無しさん
2022/05/07(土) 00:32:32.99ID:hLdUgsLX >>676
先頭100桁とE+の値(文字数でもいいです)と最後の20桁ください。
先頭100桁とE+の値(文字数でもいいです)と最後の20桁ください。
679デフォルトの名無しさん
2022/05/07(土) 01:43:20.82ID:s6tDba0D 1ゲットズザー!!!111!!111!c⌒っ゚Д゚)っ
https://ideone.com/R3szJK
2^17179869183 is between
0000000 0000046 3718218 5095045 8438771 4531277 5985050 3531670 5893980 9439277. x 10^5171655888
0000000 0000046 3718218 5095045 8438771 4531277 5985050 3531670 5894606 3902528. x 10^5171655888
100 msで計算できるようにしたったわ!
>>675
暗算はスレチ
https://ideone.com/R3szJK
2^17179869183 is between
0000000 0000046 3718218 5095045 8438771 4531277 5985050 3531670 5893980 9439277. x 10^5171655888
0000000 0000046 3718218 5095045 8438771 4531277 5985050 3531670 5894606 3902528. x 10^5171655888
100 msで計算できるようにしたったわ!
>>675
暗算はスレチ
680デフォルトの名無しさん
2022/05/07(土) 01:50:30.88ID:s6tDba0D つなみに基数変換アルゴリズムにはトーナメント方式というものがあって並列計算に持ち込めるらし
星の数ほどプロセサーが使える場合は有効かもしれん
富岳を使える機会があったらやってみたい
星の数ほどプロセサーが使える場合は有効かもしれん
富岳を使える機会があったらやってみたい
681デフォルトの名無しさん
2022/05/07(土) 02:01:09.56ID:i0ZrzBre682デフォルトの名無しさん
2022/05/07(土) 02:05:54.40ID:s6tDba0D なにおうヽ(`Д´#)ノ ムキー!
2^17179869183 is between
0000000 0000046 3718218 5095045 8438771 4531277 5985050 3532155 1306497 9818029
1992077 6481128 0740258 3796900 2894268 5133665 8876785 8487588 5591832 7186419
0576212 7656864 8464720 4285493 3923042 9654230 7916817 0776591 7647233 1128072
2760420 2266531 9507091 8968753 5716084 2962215 4728982 6664323 6555234 1274646
4896521 9429451 2975764 8380822 6363423 2746025 0005054 5131536 2217832 5023004
1605005 9971605 5861808 1342288 9537948 8099475 2493069 5439539 2974540 8604555
3827776 8910650 1779698 0664637 7405672 7472854 5855966 0105172 1933481 1967719
5700701 3333182 0937700 3166605 4871435 3734677 0010217 6905552 3397265 0416277
0094988 0613651 2390001 0317736 9989814 4998699 5188652 7509316 0899781 9619323
5715923 0653762 3370836 8150405 6226421 7362228 9333270 6654384 1686901 0642565. x 10^5171655258
0000000 0000046 3718218 5095045 8438771 4531277 5985050 3532155 1306497 9818029
1992077 6481128 0740258 3796900 2894268 5133665 8876785 8487588 5591832 7186419
0576212 7656864 8464720 4285493 3923042 9654230 7916817 0776591 7647233 1128072
2760420 2266531 9507091 8968753 5716084 2962215 4728982 6664323 6555234 1274646
4896521 9429451 2975764 8380822 6363423 2746025 0005054 5131536 2217832 5023004
1605005 9971605 5861808 1342288 9537948 8099475 2493069 5439539 2974540 8604555
3827776 8910650 1779698 0664637 7405672 7472854 5855966 0105172 1933481 1967719
5700701 3333182 0937700 3166605 4871435 3734677 0010217 6905552 3397265 0416277
0094988 0613651 2390001 0317736 9989814 4998699 5188652 7509316 0899781 9619323
5715923 0653762 3370836 8150405 6226421 7362228 9333270 6654384 1687053 4062589. x 10^5171655258
2^17179869183 is between
0000000 0000046 3718218 5095045 8438771 4531277 5985050 3532155 1306497 9818029
1992077 6481128 0740258 3796900 2894268 5133665 8876785 8487588 5591832 7186419
0576212 7656864 8464720 4285493 3923042 9654230 7916817 0776591 7647233 1128072
2760420 2266531 9507091 8968753 5716084 2962215 4728982 6664323 6555234 1274646
4896521 9429451 2975764 8380822 6363423 2746025 0005054 5131536 2217832 5023004
1605005 9971605 5861808 1342288 9537948 8099475 2493069 5439539 2974540 8604555
3827776 8910650 1779698 0664637 7405672 7472854 5855966 0105172 1933481 1967719
5700701 3333182 0937700 3166605 4871435 3734677 0010217 6905552 3397265 0416277
0094988 0613651 2390001 0317736 9989814 4998699 5188652 7509316 0899781 9619323
5715923 0653762 3370836 8150405 6226421 7362228 9333270 6654384 1686901 0642565. x 10^5171655258
0000000 0000046 3718218 5095045 8438771 4531277 5985050 3532155 1306497 9818029
1992077 6481128 0740258 3796900 2894268 5133665 8876785 8487588 5591832 7186419
0576212 7656864 8464720 4285493 3923042 9654230 7916817 0776591 7647233 1128072
2760420 2266531 9507091 8968753 5716084 2962215 4728982 6664323 6555234 1274646
4896521 9429451 2975764 8380822 6363423 2746025 0005054 5131536 2217832 5023004
1605005 9971605 5861808 1342288 9537948 8099475 2493069 5439539 2974540 8604555
3827776 8910650 1779698 0664637 7405672 7472854 5855966 0105172 1933481 1967719
5700701 3333182 0937700 3166605 4871435 3734677 0010217 6905552 3397265 0416277
0094988 0613651 2390001 0317736 9989814 4998699 5188652 7509316 0899781 9619323
5715923 0653762 3370836 8150405 6226421 7362228 9333270 6654384 1687053 4062589. x 10^5171655258
683デフォルトの名無しさん
2022/05/07(土) 02:06:56.87ID:i0ZrzBre >>682
筆算法じゃ全桁計算は無理
筆算法じゃ全桁計算は無理
684デフォルトの名無しさん
2022/05/07(土) 02:12:56.32ID:s6tDba0D >>683
48年ぐらい待ったらできうる
48年ぐらい待ったらできうる
685デフォルトの名無しさん
2022/05/07(土) 02:17:43.49ID:i0ZrzBre686デフォルトの名無しさん
2022/05/07(土) 02:20:59.45ID:dujXhAGl なぜコードでなく計算結果なのか
687デフォルトの名無しさん
2022/05/07(土) 03:43:06.05ID:bh3xusof >>661,664,670,672
すみません。Linuxを想定していました
すみません。Linuxを想定していました
688デフォルトの名無しさん
2022/05/07(土) 04:06:12.29ID:P9LDpr78689デフォルトの名無しさん
2022/05/07(土) 04:20:35.96ID:qg2oNGE7 なんかCRIUとかいうのでできるらしいぞ
690デフォルトの名無しさん
2022/05/07(土) 05:41:08.75ID:GCz/eJtw 乗算は量子演算使わないと万年かかる
691デフォルトの名無しさん
2022/05/07(土) 07:36:33.84ID:hLdUgsLX >>685
全桁データだからって正確とはかぎらんのかーい!
全桁データだからって正確とはかぎらんのかーい!
692デフォルトの名無しさん
2022/05/07(土) 07:40:26.77ID:i0ZrzBre 合ってると思うけど
2通りで計算して同じだったし
2通りで計算して同じだったし
693デフォルトの名無しさん
2022/05/07(土) 08:15:43.50ID:hLdUgsLX 先頭数十桁と最後の数十桁は合っていそう。
文字数は5171655817で合ってるの?
文字数は5171655817で合ってるの?
694デフォルトの名無しさん
2022/05/07(土) 08:21:32.36ID:hLdUgsLX695デフォルトの名無しさん
2022/05/07(土) 08:49:15.35ID:i0ZrzBre 2^17179869183
●計算結果
https://5.gigafile.nu/0514-n79efacc97fda1fc1ecce0eeb21225ab7
(5171655946バイト)
※実行時間: 約20分
●コード (C言語)
https://ideone.com/xSaa6x
※メモリが16GBくらい必要です
●計算結果
https://5.gigafile.nu/0514-n79efacc97fda1fc1ecce0eeb21225ab7
(5171655946バイト)
※実行時間: 約20分
●コード (C言語)
https://ideone.com/xSaa6x
※メモリが16GBくらい必要です
696デフォルトの名無しさん
2022/05/07(土) 09:26:24.51ID:hLdUgsLX >>693
文字数チェックに使ったGigaTextViewerにバグがあったらしい。
バイト数で5171655946で見たら合ってるな。
バグないみたい。ご苦労様。
あとは128倍精度浮動小数点数の最大値とか計算できると良いな。
相当凄腕なら64倍以上のn倍精度精度浮動小数点数の最大値を0.06秒くらいで出せると良いけどな。
文字数チェックに使ったGigaTextViewerにバグがあったらしい。
バイト数で5171655946で見たら合ってるな。
バグないみたい。ご苦労様。
あとは128倍精度浮動小数点数の最大値とか計算できると良いな。
相当凄腕なら64倍以上のn倍精度精度浮動小数点数の最大値を0.06秒くらいで出せると良いけどな。
697デフォルトの名無しさん
2022/05/07(土) 10:01:38.30ID:i0ZrzBre698デフォルトの名無しさん
2022/05/07(土) 10:05:53.71ID:hLdUgsLX ともかくどうもありがとう。
699デフォルトの名無しさん
2022/05/07(土) 10:27:32.54ID:hLdUgsLX 128倍精度付近の計算は5GB程度と分かったが、256倍精度なら80GB程度とかになるのか?
全部のデータを吐くのには無理があるな。
全部のデータを吐くのには無理があるな。
700デフォルトの名無しさん
2022/05/07(土) 11:12:27.95ID:hLdUgsLX 次の問題。
65536倍精度浮動小数点数 2^16倍精度 2097152ビット浮動小数点数 (2^((2^(71-1))-1))*(2-(2^-2097080)) 355393490465494856466桁の値 有効桁数631283桁
最大値
(2^((2^(71-1))-1))*(2-(2^-2097080))
8.751158848740476104171068534561420331800200930194140062439011962812174483292686870548794134181772232E+355393490465494856465
これを合っているか確認して戴きたい。
時間かけなくていいからね。簡単にできそうならやってみて。
65536倍精度浮動小数点数 2^16倍精度 2097152ビット浮動小数点数 (2^((2^(71-1))-1))*(2-(2^-2097080)) 355393490465494856466桁の値 有効桁数631283桁
最大値
(2^((2^(71-1))-1))*(2-(2^-2097080))
8.751158848740476104171068534561420331800200930194140062439011962812174483292686870548794134181772232E+355393490465494856465
これを合っているか確認して戴きたい。
時間かけなくていいからね。簡単にできそうならやってみて。
701デフォルトの名無しさん
2022/05/07(土) 11:24:24.96ID:i0ZrzBre 8.75115884874047610417106853456142033180020093019414006243901196281217448329268687054879413418177223250026754484296779541335755918551116311988151294437120403120859156456766214020358536453140920536494153366498563224599112643650005214473466325352790995530944092962954114633561899471578385791449307429666571647389734015518462597415175193161095962388238415165666405164185316844538944891015624600209337136687435968731829027874814729004423100156170455627257657662018544353080611835640032201070594171947167003291711646891546745572991874468255861057996361346972313268224686528372873429102591994402195151868961348300405641520089415930898779525616284304652528475239523093098963439947423678208493232864450286525255133498508464916769066793870894739506167659828704373657304962097164032305167374291543346284808597600898542590310745266381890317624392291438000481495226828900983685105244929525982538100990167556406600838995052292E+355393490465494856465
702デフォルトの名無しさん
2022/05/07(土) 11:27:01.76ID:hLdUgsLX703デフォルトの名無しさん
2022/05/07(土) 11:29:01.32ID:hLdUgsLX704デフォルトの名無しさん
2022/05/07(土) 11:29:47.60ID:hLdUgsLX ウルフラムアルファでも計算できないのにw
705デフォルトの名無しさん
2022/05/07(土) 11:30:15.89ID:i0ZrzBre 指数と桁の割り振りは決まってないし
好きに決めれば良いんだよ
IEEE754の範囲でも
倍になるごとに4bit増えてるわけでもない
好きに決めれば良いんだよ
IEEE754の範囲でも
倍になるごとに4bit増えてるわけでもない
706デフォルトの名無しさん
2022/05/07(土) 11:31:51.28ID:i0ZrzBre >>703
電卓で計算しただけ
電卓で計算しただけ
707デフォルトの名無しさん
2022/05/07(土) 11:45:08.76ID:hLdUgsLX >>705
IEEE754-2008では推奨で決まってるよ。
結果的に4bit増になる式が書いてある。
まぁ別に合わせなくてもいいが、合わせて演算パッケージの開発をしやすくした方がいいんじゃないのかな。
桁が足りなければどんどん倍数を増やせばよいわけだし。
ちなみにどんな電卓なら計算できるの?
IEEE754-2008では推奨で決まってるよ。
結果的に4bit増になる式が書いてある。
まぁ別に合わせなくてもいいが、合わせて演算パッケージの開発をしやすくした方がいいんじゃないのかな。
桁が足りなければどんどん倍数を増やせばよいわけだし。
ちなみにどんな電卓なら計算できるの?
708デフォルトの名無しさん
2022/05/07(土) 12:02:42.85ID:i0ZrzBre709デフォルトの名無しさん
2022/05/07(土) 12:08:50.27ID:i0ZrzBre 半精度、単精度はルールかは外れてるし
8倍精度以上をそのままバイナリ形式で他のソフトとやり取りする事もなかなか考えられないし
桁数はいらないけど指数が欲しい時もある
というか、桁数に対して指数の割合が少なすぎる
65536倍精度を使う場面で指数を数ビットケチる意味はまったく無い
ライブラリを作るなら柔軟に設定出来るものが良いかと
半精度は今でも用途によって複数の形式があるし
8倍精度以上をそのままバイナリ形式で他のソフトとやり取りする事もなかなか考えられないし
桁数はいらないけど指数が欲しい時もある
というか、桁数に対して指数の割合が少なすぎる
65536倍精度を使う場面で指数を数ビットケチる意味はまったく無い
ライブラリを作るなら柔軟に設定出来るものが良いかと
半精度は今でも用途によって複数の形式があるし
710デフォルトの名無しさん
2022/05/07(土) 12:11:03.63ID:hLdUgsLX フリーソフトで出してよw
711デフォルトの名無しさん
2022/05/07(土) 13:41:52.30ID:5iVnmLs9 boostに自分の作った無限状態マシンのラブラリーを導入して世界中の人に使ってもらいたいけどどうすればいい?
712デフォルトの名無しさん
2022/05/07(土) 13:44:14.31ID:hLdUgsLX 2テトレーション6、2^^6、2^2^2^2^2^2の実数の計算はできますか?
713デフォルトの名無しさん
2022/05/07(土) 14:01:25.93ID:i0ZrzBre できません
714デフォルトの名無しさん
2022/05/07(土) 14:06:31.86ID:hLdUgsLX 残念です。
715デフォルトの名無しさん
2022/05/07(土) 16:05:50.34ID:Cir/Il2y >>695のコードだと 2^2^35 くらいが限度
工夫すると 2^2^42 くらいまではいける
計算バッファにHDDを8TBほど使う
2^2^65536は...
宇宙中のリソースを使っても無理
上位1000桁や下位1000桁だけなら可能
工夫すると 2^2^42 くらいまではいける
計算バッファにHDDを8TBほど使う
2^2^65536は...
宇宙中のリソースを使っても無理
上位1000桁や下位1000桁だけなら可能
716デフォルトの名無しさん
2022/05/07(土) 19:56:49.06ID:hLdUgsLX ブラウザpythonでプログラミングしたら10^10^50まではとりあえずエラーが出なかった。
内部でどうやってるんだろう?
内部でどうやってるんだろう?
717デフォルトの名無しさん
2022/05/07(土) 20:11:08.30ID:ihw8CMAo (2^2)^35か
2^(2^35)かどっちだ?
C++的には前者だが数学的には後者だな
2^(2^35)かどっちだ?
C++的には前者だが数学的には後者だな
718デフォルトの名無しさん
2022/05/07(土) 20:28:26.23ID:hLdUgsLX719デフォルトの名無しさん
2022/05/07(土) 21:33:22.65ID:GCz/eJtw >>687
/etc/pm/sleep.d
/etc/pm/sleep.d
720デフォルトの名無しさん
2022/05/08(日) 00:59:03.56ID:fONWhazS べき乗は右結合というのは宇宙の始まりから決まってゐる
なぜなら、(2^2)^35 = 2^(2*35)であって1重のべきにすぎないから左結合の多重冪は多重である意味が無い
なぜなら、(2^2)^35 = 2^(2*35)であって1重のべきにすぎないから左結合の多重冪は多重である意味が無い
721デフォルトの名無しさん
2022/05/08(日) 01:01:37.38ID:fONWhazS >>717
ここでの演算子^はXORの意味ではないから念のため
ここでの演算子^はXORの意味ではないから念のため
722デフォルトの名無しさん
2022/05/08(日) 06:50:42.66ID:RoE3BV2z 2+2+2 = 2*3
2*2*2 = 2^3
2^2^2 = 2↑3
2↑2↑2 = 2↑↑3
2*2*2 = 2^3
2^2^2 = 2↑3
2↑2↑2 = 2↑↑3
723デフォルトの名無しさん
2022/05/08(日) 06:51:37.65ID:RoE3BV2z 途中で送信しちまった
これをtemplateで一般化できるか?
これをtemplateで一般化できるか?
724デフォルトの名無しさん
2022/05/08(日) 07:50:20.51ID:21iaPdPG ここの定義で実装してみた
https://ja.wikipedia.org/wiki/クヌースの矢印表記#定義
#include <iostream>
template<int level>
struct tower {
template<class T, class U>
constexpr static auto op(T t, U u) {
T ret{1};
for (U i = 0; i < u; i++) ret = tower<level - 1>::op(t, ret);
return ret;
}
};
template<> // pow(t, u);
struct tower<1> {
template<class T, class U>
constexpr static auto op(T t, U u) {
T ret{1};
for (U i = 0; i < u; i++) ret *= t;
return ret;
}
};
int main() {
std::cout << tower<2>::op(uint64_t(3), 3) << std::endl;
}
https://ja.wikipedia.org/wiki/クヌースの矢印表記#定義
#include <iostream>
template<int level>
struct tower {
template<class T, class U>
constexpr static auto op(T t, U u) {
T ret{1};
for (U i = 0; i < u; i++) ret = tower<level - 1>::op(t, ret);
return ret;
}
};
template<> // pow(t, u);
struct tower<1> {
template<class T, class U>
constexpr static auto op(T t, U u) {
T ret{1};
for (U i = 0; i < u; i++) ret *= t;
return ret;
}
};
int main() {
std::cout << tower<2>::op(uint64_t(3), 3) << std::endl;
}
725デフォルトの名無しさん
2022/05/08(日) 08:36:28.64ID:vKAQqA9f726デフォルトの名無しさん
2022/05/08(日) 08:41:34.72ID:vKAQqA9f >既に述べた通り、1重のクヌースの矢印は冪乗を表す。また、2重のクヌースの矢印はテトレーションを表す。
{\displaystyle a\uparrow b=a^{b}} a\uparrow b = a^b
{\displaystyle a\uparrow \uparrow b={}^{b}a} a\uparrow\uparrow b = {}^b a
クヌースの矢印の矢印が一個ずつ足りないんじゃない?
{\displaystyle a\uparrow b=a^{b}} a\uparrow b = a^b
{\displaystyle a\uparrow \uparrow b={}^{b}a} a\uparrow\uparrow b = {}^b a
クヌースの矢印の矢印が一個ずつ足りないんじゃない?
727デフォルトの名無しさん
2022/05/08(日) 10:21:28.93ID:RTAOPX4V728デフォルトの名無しさん
2022/05/08(日) 11:30:55.36ID:vKAQqA9f729デフォルトの名無しさん
2022/05/08(日) 12:20:02.96ID:sGLUGFq3 >>728
タイムアウトすっぞ
タイムアウトすっぞ
730デフォルトの名無しさん
2022/05/08(日) 12:29:28.95ID:ZM5mEHZG 昔C++で少ない文字数で巨大な数を作るってのやったなあ
intは十分大きいとしてint main();の戻り値を競うって感じ
intは十分大きいとしてint main();の戻り値を競うって感じ
731デフォルトの名無しさん
2022/05/08(日) 12:51:18.92ID:riShKp28732デフォルトの名無しさん
2022/05/08(日) 13:13:57.96ID:sRJ9WYdm return ~0;で終わりでは?
733デフォルトの名無しさん
2022/05/08(日) 13:25:31.24ID:nwquViMM -1だからあんまり大きくないんじゃね?
734デフォルトの名無しさん
2022/05/08(日) 14:25:43.97ID:E3hRzs1K >>727
??
??
735デフォルトの名無しさん
2022/05/08(日) 14:51:21.54ID:fONWhazS FFTによる積の多倍長演算完全に理解した!
適当な基数の下で表した例えば4桁の数 (a b c d) と (c d e f) を筆算で計算したとき現れる8個の積和
(例えば最長のやつはaf + be + cd + dc)
というのは、 (a b c d) と (c d e f)をそれぞれ関数波形とみなしたf(n)、g(n)の畳み込み
h(k) = Σ[k=0..3]f(k)g(3-k) (k=0..7)
に他ならない(f(k)やg(k)の範囲外は0とみなす
ということは、h(k)、f(k)、g(k)それぞれのDFT(この場合は1の8乗根を基底とするやつ)をそれぞれH(k)、F(k)、G(k)として
H(k) = F(k) * G(k)
となるわけやなのでそうやって求めたH(k)を逆DFTしたらh(k)の値が得られているというしくみ
(このh(k)を基数B内に収まるようにcarry_and_fix()したら最終的な8桁の並びが得られる、
適当な基数の下で表した例えば4桁の数 (a b c d) と (c d e f) を筆算で計算したとき現れる8個の積和
(例えば最長のやつはaf + be + cd + dc)
というのは、 (a b c d) と (c d e f)をそれぞれ関数波形とみなしたf(n)、g(n)の畳み込み
h(k) = Σ[k=0..3]f(k)g(3-k) (k=0..7)
に他ならない(f(k)やg(k)の範囲外は0とみなす
ということは、h(k)、f(k)、g(k)それぞれのDFT(この場合は1の8乗根を基底とするやつ)をそれぞれH(k)、F(k)、G(k)として
H(k) = F(k) * G(k)
となるわけやなのでそうやって求めたH(k)を逆DFTしたらh(k)の値が得られているというしくみ
(このh(k)を基数B内に収まるようにcarry_and_fix()したら最終的な8桁の並びが得られる、
736デフォルトの名無しさん
2022/05/08(日) 14:53:42.06ID:fONWhazS FFTする高速化方法はここ↓見たらワカル(wは1のN乗根なので、w^N = 1とかw^(N/2)=-1とかいうのが式変形の要
https://qiita.com/peria/items/fbdd52768b4659823d88
いまちょっと他の用事で手が離せないので48年以内に累乗根の誤差の影響が無い形で実装してみるわサーセン;;;
そしたら漏れも勝ちや!
何と戦ってるのかは知らんが、
https://qiita.com/peria/items/fbdd52768b4659823d88
いまちょっと他の用事で手が離せないので48年以内に累乗根の誤差の影響が無い形で実装してみるわサーセン;;;
そしたら漏れも勝ちや!
何と戦ってるのかは知らんが、
737デフォルトの名無しさん
2022/05/08(日) 15:17:10.76ID:fONWhazS スマン誤記があったorz
畳み込みの式は正しくはこうっす
h(τ) = Σ[k=0..3]f(k)g(τ-k) (τ=0..7)
畳み込みの式は正しくはこうっす
h(τ) = Σ[k=0..3]f(k)g(τ-k) (τ=0..7)
738デフォルトの名無しさん
2022/05/08(日) 15:59:36.72ID:E3hRzs1K スペクトラムアナライザーでも作るのか
739デフォルトの名無しさん
2022/05/09(月) 00:09:35.20ID:yzB2nwTj740デフォルトの名無しさん
2022/05/09(月) 03:52:17.59ID:E3g8JMTZ 「~(1<<31)」 (8文字)が短かくなりそうだがint=4byte+オーバーフローの未定義動作を含むからNGという寸法か
しかし「123456789」もint=4byteが前提になってるしどうやって遊ぶんだ?
「std::numeric_limits<int>::max()」でとりあえずint最大値が帰るが
しかし「123456789」もint=4byteが前提になってるしどうやって遊ぶんだ?
「std::numeric_limits<int>::max()」でとりあえずint最大値が帰るが
741デフォルトの名無しさん
2022/05/09(月) 04:10:24.01ID:lLEJHk2f742デフォルトの名無しさん
2022/05/09(月) 07:35:52.38ID:yzB2nwTj -------- Large numbers using C++ --------
C++ 言語を用いて出来るだけ大きな数を出来るだけ少ない文字数で表現する
int main(); が出来るだけ大きな値を返すようにする
C++ は ISO/IEC 14882:2003 準拠とする
ただし、"int" "float" "double" で表現できる値は十分大きいものとする
事実上無限ビットあると考えて良い
あくまで「十分大きい」であり、大きさを規定した以外は言語仕様通りの動作をする
環境依存の動作、環境依存の値を返すものはNG
上記ルールと ISO/IEC 14882:2003 とで
mainの戻り値が1個の値に定まらないようなものはNG
たとえば、intのサイズに依存した値になるコードはNG
pre-processor 使用禁止
#define, #include などの禁止
コンパイラなどに指定するマクロも禁止
__FILE__ や __LINE__ などの組み込みマクロも使用禁止
ライブラリ関数や外部ファイル定義の関数や変数の使用禁止
pow, quit などの外部関数や変数の使用禁止
実行時間やメモリ使用量は問わない
メモリ解放不要
C++ 言語を用いて出来るだけ大きな数を出来るだけ少ない文字数で表現する
int main(); が出来るだけ大きな値を返すようにする
C++ は ISO/IEC 14882:2003 準拠とする
ただし、"int" "float" "double" で表現できる値は十分大きいものとする
事実上無限ビットあると考えて良い
あくまで「十分大きい」であり、大きさを規定した以外は言語仕様通りの動作をする
環境依存の動作、環境依存の値を返すものはNG
上記ルールと ISO/IEC 14882:2003 とで
mainの戻り値が1個の値に定まらないようなものはNG
たとえば、intのサイズに依存した値になるコードはNG
pre-processor 使用禁止
#define, #include などの禁止
コンパイラなどに指定するマクロも禁止
__FILE__ や __LINE__ などの組み込みマクロも使用禁止
ライブラリ関数や外部ファイル定義の関数や変数の使用禁止
pow, quit などの外部関数や変数の使用禁止
実行時間やメモリ使用量は問わない
メモリ解放不要
743デフォルトの名無しさん
2022/05/09(月) 07:42:44.70ID:yzB2nwTj 文字数が少ないものだとこんな感じ
25文字
int main(){return 9E999;}
30文字
int main(){return 9<<(9<<99);}
42文字
int A;int main(){return++A-9?9<<main():9;}
60文字
int A,B=9,C=9;int main(){for(;A--?B<<=B:A=B*C--;);return B;}
25文字
int main(){return 9E999;}
30文字
int main(){return 9<<(9<<99);}
42文字
int A;int main(){return++A-9?9<<main():9;}
60文字
int A,B=9,C=9;int main(){for(;A--?B<<=B:A=B*C--;);return B;}
744デフォルトの名無しさん
2022/05/09(月) 07:45:44.83ID:VfSI4PVa intを返せばいいのかと思ったけどfloatとか無限ビットとか言及しているのが気になるな。
解釈違うのかな?
解釈違うのかな?
745デフォルトの名無しさん
2022/05/09(月) 08:53:10.27ID:PsDnm+L1 必要に応じて環境のint型を int4294967296_t とか自由に変えていいわけか
746デフォルトの名無しさん
2022/05/09(月) 11:51:27.72ID:90x04ZHv 正解は ~0U>>1 です
747デフォルトの名無しさん
2022/05/09(月) 12:29:49.47ID:b/WmNbyW >>746
> たとえば、intのサイズに依存した値になるコードはNG
> たとえば、intのサイズに依存した値になるコードはNG
748デフォルトの名無しさん
2022/05/09(月) 12:36:28.70ID:vv2CegjB749デフォルトの名無しさん
2022/05/09(月) 12:37:51.56ID:b/WmNbyW 16bit, 32bit, 64bitで違う値を返すからNG
750デフォルトの名無しさん
2022/05/09(月) 13:09:06.67ID:uszWTY9x751デフォルトの名無しさん
2022/05/09(月) 13:38:49.81ID:b/WmNbyW 異なる値を返すからNG
何度書いてもNGなものはNG
何度書いてもNGなものはNG
752デフォルトの名無しさん
2022/05/09(月) 13:57:46.67ID:DLFHVgdp ~0U>>1 で int のサイズが同じ環境なのに違う値を返すケースある?
753デフォルトの名無しさん
2022/05/09(月) 14:07:18.41ID:PsDnm+L1754デフォルトの名無しさん
2022/05/09(月) 14:16:39.02ID:RDjTqhEj よくわからないパズルは他所でやれ
755デフォルトの名無しさん
2022/05/09(月) 14:20:50.13ID:vBDmnMzm 環境によってintの最大値が違うのに環境依存はまかりならんとかw
なら規格で保証されてる最大値(32767だっけ?)を返すしかなくね?
なら規格で保証されてる最大値(32767だっけ?)を返すしかなくね?
756デフォルトの名無しさん
2022/05/09(月) 14:22:28.17ID:SOqsBrLy757デフォルトの名無しさん
2022/05/09(月) 14:27:15.36ID:DLFHVgdp >ただし、"int" "float" "double" で表現できる値は十分大きいものとする
>事実上無限ビットあると考えて良い
これと
>たとえば、intのサイズに依存した値になるコードはNG
ここの兼ね合いがどうなってるのか文意が読み取れん
日本語難しい
>事実上無限ビットあると考えて良い
これと
>たとえば、intのサイズに依存した値になるコードはNG
ここの兼ね合いがどうなってるのか文意が読み取れん
日本語難しい
758デフォルトの名無しさん
2022/05/09(月) 14:29:47.27ID:4LSguCbO intの最大値ならINT_MAX
759デフォルトの名無しさん
2022/05/09(月) 14:31:48.86ID:HAgcLczC760デフォルトの名無しさん
2022/05/09(月) 17:07:31.36ID:A/IF7G4V761デフォルトの名無しさん
2022/05/09(月) 17:17:54.32ID:xCpkKQPu762デフォルトの名無しさん
2022/05/09(月) 17:54:22.09ID:L9YeT6Da お題スレでやってろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 現役猟師・東出昌大、クマ被害続出も過熱する報道に「クマはそんな危ないもんじゃない」理由語る [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【急募】今!!夜更かししている全お前らに告ぐ!!!何時に寝るのか宣言するのだ!!!
- さっっっっっっっっっっっっっっっっっむ!?!!?!?!?!!??!??!???!
- 高市政権「中国依存の経済から脱却する」?「それはダメーッ!」
- 中国旅行者大量キャンセルで東京のホテル安くなんないかな
- 4時だから窓から4回ちんこ出した
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
