プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part19
https://mevius.5ch.net/test/read.cgi/tech/1606662245/
探検
プログラミングのお題スレ Part20
■ このスレッドは過去ログ倉庫に格納されています
2021/06/19(土) 00:02:57.84ID:MQWrKSb7
419デフォルトの名無しさん
2021/11/10(水) 00:24:34.22ID:BKretcyA 111111×11の配列のやつやな
420デフォルトの名無しさん
2021/11/11(木) 01:43:34.66ID:rg6AJXmO 侍エンジニアリングつーサイトの講師やりませんか?というお誘いが来た。
下準備が結構必要っぽいのに時給は生徒と応対している時のみの2000円/hだそうだ。
結局時給1000円くらいやん。
ふざけとるわ。
下準備が結構必要っぽいのに時給は生徒と応対している時のみの2000円/hだそうだ。
結局時給1000円くらいやん。
ふざけとるわ。
421デフォルトの名無しさん
2021/11/11(木) 09:52:21.62ID:SpIFedoW 生徒と応対して連絡先交換
あとは中抜き回避で青天井
あとは中抜き回避で青天井
422417
2021/11/11(木) 15:33:20.12ID:226d0X5M >>417
回答者(>>418)が言うところの"遅い解法"ががほぼ想定解。
https://ideone.com/msZUeW 下部に追加記入
解法については、"部分和問題 数え上げ"でググって調べて
別解としては早い言語なら、さらに遅い"半分全列挙"でも間に合う。
(大雑把に(24*2^24)*2 <1億なので、c++で試したら1秒強だった)
回答者(>>418)が言うところの"遅い解法"ががほぼ想定解。
https://ideone.com/msZUeW 下部に追加記入
解法については、"部分和問題 数え上げ"でググって調べて
別解としては早い言語なら、さらに遅い"半分全列挙"でも間に合う。
(大雑把に(24*2^24)*2 <1億なので、c++で試したら1秒強だった)
423デフォルトの名無しさん
2021/11/11(木) 16:01:48.26ID:aldiYpmV424デフォルトの名無しさん
2021/11/11(木) 16:02:43.51ID:aldiYpmV 掛算じゃなくてメモリの連続性かも
両方かな
両方かな
425蟻人間 ◆T6xkBnTXz7B0
2021/11/11(木) 21:32:16.11ID:3Uao5x0L426デフォルトの名無しさん
2021/11/11(木) 21:50:43.06ID:PBlMMjPy 次
427デフォルトの名無しさん
2021/11/11(木) 21:53:39.37ID:39WaJBCl >>425
URLとなる文字列の定義も知らねえで糞みたいな問題出すなよダニ野郎
URLとなる文字列の定義も知らねえで糞みたいな問題出すなよダニ野郎
429デフォルトの名無しさん
2021/11/11(木) 21:58:05.03ID:39WaJBCl URLにマッチする正規表現(笑)
43096
2021/11/11(木) 23:57:38.62ID:JHz34AMz >>425 Perl5、たまにはお相手して進ぜよう。5chの仕様に従うと↓こうだと思うが…
$uri = 'https://www.google.com/search?client=firefox-b-e&q=%E8%9F%BB%E4%BA%BA%E9%96%93+%E3%83%8F%E3%82%B2';
use URI::Split qw(uri_split uri_join);
@a = uri_split($uri);
$a[1] = 'jump.5ch.net';
$a[2] = '/';
$a[3] = $uri;
print uri_join(@a), "\n";
$uri = 'https://www.google.com/search?client=firefox-b-e&q=%E8%9F%BB%E4%BA%BA%E9%96%93+%E3%83%8F%E3%82%B2';
use URI::Split qw(uri_split uri_join);
@a = uri_split($uri);
$a[1] = 'jump.5ch.net';
$a[2] = '/';
$a[3] = $uri;
print uri_join(@a), "\n";
431デフォルトの名無しさん
2021/11/12(金) 20:37:34.22ID:Y4pYQLN1 ”2021”というフォルダがある
"2020"というフォルダもある
:
"1950"というフォルダもある
そしてそれぞれに"01"〜"12"のサブフォルダがあって
そしてそのそれぞれに"01"〜"31"というサブフォルダがあって
更に"00"〜"23"という・・・・
つまり、1時間ごとのフォルダがあって
そこには多くのファイルが詰まっている
そのファイルのタイムスタンプに変化があったら
「どこのファイルが書き換えられたぞ」と検出するプログラムを作りたい
片っ端からタイムスタンプを調べるしかないのか
これはファイルシステムの問題でしょうが
なんとか、前回調べてから変化があったか、短時間で検出できる方法はありませんか
ファイルに変化があったら、フォルダのタイムスタンプを変えてくれればいいんだけどね
"2020"というフォルダもある
:
"1950"というフォルダもある
そしてそれぞれに"01"〜"12"のサブフォルダがあって
そしてそのそれぞれに"01"〜"31"というサブフォルダがあって
更に"00"〜"23"という・・・・
つまり、1時間ごとのフォルダがあって
そこには多くのファイルが詰まっている
そのファイルのタイムスタンプに変化があったら
「どこのファイルが書き換えられたぞ」と検出するプログラムを作りたい
片っ端からタイムスタンプを調べるしかないのか
これはファイルシステムの問題でしょうが
なんとか、前回調べてから変化があったか、短時間で検出できる方法はありませんか
ファイルに変化があったら、フォルダのタイムスタンプを変えてくれればいいんだけどね
432デフォルトの名無しさん
2021/11/12(金) 21:45:17.50ID:gsBkkV8P そういう検出機能はOSかハードウェアかについてなかったか 忘れたが
433デフォルトの名無しさん
2021/11/12(金) 21:49:29.72ID:gsBkkV8P NTFSの USN とは?
USN ジャーナルとは
NTFSのUSN機能とはNTFSボリュームに対しての変更の記録です。
Cドライブ、Dドライブ、Eドライブごとなど、ドライブごとに加えられた変更を記録したものです。
USNとはUpdate Sequence Number Journalの略称です。
主に以下の目的で使用されます。
・FRS(File Replication Service)によるファイル複製時の差分洗い出し。
・スナップショットバックアップ時の差分洗い出し。
・ウィルス対策ソフトによるファイル検査。
・インデックスサービス向け。
http://tooljp.com/qa/what-is-USN-36BE.html
USN ジャーナルとは
NTFSのUSN機能とはNTFSボリュームに対しての変更の記録です。
Cドライブ、Dドライブ、Eドライブごとなど、ドライブごとに加えられた変更を記録したものです。
USNとはUpdate Sequence Number Journalの略称です。
主に以下の目的で使用されます。
・FRS(File Replication Service)によるファイル複製時の差分洗い出し。
・スナップショットバックアップ時の差分洗い出し。
・ウィルス対策ソフトによるファイル検査。
・インデックスサービス向け。
http://tooljp.com/qa/what-is-USN-36BE.html
434デフォルトの名無しさん
2021/11/12(金) 22:31:42.38ID:M7lyd7nj Ruby では、文字列の中から、URL を抜き出す関数が非推奨になった。
頻繁に規格が変わるからかな?
正規表現でも多分、何万行も掛かる。
作るのに10年ぐらい掛かるので、誰も作らない
今あるものでも、正しく判定されるかどうか、分からない
頻繁に規格が変わるからかな?
正規表現でも多分、何万行も掛かる。
作るのに10年ぐらい掛かるので、誰も作らない
今あるものでも、正しく判定されるかどうか、分からない
435デフォルトの名無しさん
2021/11/12(金) 22:39:57.54ID:M7lyd7nj436デフォルトの名無しさん
2021/11/13(土) 02:42:42.42ID:p75HzwR9437デフォルトの名無しさん
2021/11/15(月) 00:16:09.47ID:Xr7xQZWT お題: JSON形式のテキストをXML形式のテキストに変換しなさい
438デフォルトの名無しさん
2021/11/15(月) 21:06:19.54ID:L/+dWr8R439デフォルトの名無しさん
2021/11/23(火) 21:56:09.59ID:WrxNeBf5 age
440デフォルトの名無しさん
2021/11/24(水) 11:45:59.40ID:kXzWnsgO ideone って boost は include 出来るのか
codepad はずっと落ちてるな
codepad はずっと落ちてるな
441ハノン ◆QZaw55cn4c
2021/11/24(水) 20:41:27.64ID:CmhCtKru >>440
もう codepad はおしまい、codepad にアップした私のコードも永遠に失われました…
もう codepad はおしまい、codepad にアップした私のコードも永遠に失われました…
44296
2021/12/02(木) 04:03:51.64ID:EE6BdDDo 元のソースをローカルに保存しておかなかったのか
443デフォルトの名無しさん
2021/12/02(木) 12:54:02.17ID:adrEDszf 短いもんだから直接打ち込んじゃったんじゃないかな。
そして消滅。
そして消滅。
444デフォルトの名無しさん
2021/12/02(木) 16:48:13.78ID:BMPRSKoA >>442
デスクトップで書いたものはローカルのどこかに残っている(と思う)
ノートで書いたものはノートPCごとどこかにいってしまった…
いや、まあ、最初から書き捨てでしたけど、惜しいと思うものも多少ありますね
デスクトップで書いたものはローカルのどこかに残っている(と思う)
ノートで書いたものはノートPCごとどこかにいってしまった…
いや、まあ、最初から書き捨てでしたけど、惜しいと思うものも多少ありますね
44596
2021/12/02(木) 21:30:16.60ID:m0u4nXXp いま
http://codepad.org/
復活してない?
サンプルURLとして前々スレの過去の回答
プログラミングのお題スレ Part18
http://mevius.5ch.net/test/read.cgi/tech/1594702426/174
>174 名前:デフォルトの名無しさん[] 投稿日:2020/08/04(火) 19:24:17.96 ID:lImhU2CT
> >>173
> あーアホだったw
> タブ消去の仕様だとPythonだと分けわからんことになるなw
> ↓貼り直した
> http://codepad.org/BWRzr8fW
> ※会員未登録の為、一定期間後に自動消去
も表示されたし。
保持しておきたいcodeがあれば今のうちにsaveするか、
Internet archiveに記録しとくのも手だよ。
http://codepad.org/
復活してない?
サンプルURLとして前々スレの過去の回答
プログラミングのお題スレ Part18
http://mevius.5ch.net/test/read.cgi/tech/1594702426/174
>174 名前:デフォルトの名無しさん[] 投稿日:2020/08/04(火) 19:24:17.96 ID:lImhU2CT
> >>173
> あーアホだったw
> タブ消去の仕様だとPythonだと分けわからんことになるなw
> ↓貼り直した
> http://codepad.org/BWRzr8fW
> ※会員未登録の為、一定期間後に自動消去
も表示されたし。
保持しておきたいcodeがあれば今のうちにsaveするか、
Internet archiveに記録しとくのも手だよ。
446デフォルトの名無しさん
2021/12/08(水) 14:07:00.92ID:Bws6ftLO お題が出なくなったので全く実用性がないと思われる頭の体操的なやつを一つ。
お題: 与えられた数値の配列の 1 になっているビットをカウントする。
例えばC言語で unsigned char の配列とか使って、処理する関数はポインタで渡された所から何要素みたいに指定されるようにする。。
それで例えば 0xde, 0x96 (11011110, 10010110) なら答えは 10。
お題: 与えられた数値の配列の 1 になっているビットをカウントする。
例えばC言語で unsigned char の配列とか使って、処理する関数はポインタで渡された所から何要素みたいに指定されるようにする。。
それで例えば 0xde, 0x96 (11011110, 10010110) なら答えは 10。
447デフォルトの名無しさん
2021/12/08(水) 17:14:42.64ID:vDqYU7cZ .replace("0", "").length
448デフォルトの名無しさん
2021/12/08(水) 17:44:20.69ID:/InaUbpT お題: 日付が与えられるので4月ならtrueを出力しなさい
< 2021/04/01
> true
< 04/01
> true
< 2021/04
> true
< 2021/05/01
> false
< 2021/04/01
> true
< 04/01
> true
< 2021/04
> true
< 2021/05/01
> false
449デフォルトの名無しさん
2021/12/08(水) 19:09:00.93ID:nFeiLLyh450デフォルトの名無しさん
2021/12/09(木) 05:41:43.04ID:8cQ3P39Q 英式 1/4/2021
米式 4/1/2021
米式 4/1/2021
451デフォルトの名無しさん
2021/12/09(木) 08:53:58.33ID:FBbu4srV 日 21/04/01
米 04/01/21
欧 01/04/21
年2桁で入り乱れたら更にわけわかめ
米 04/01/21
欧 01/04/21
年2桁で入り乱れたら更にわけわかめ
452デフォルトの名無しさん
2021/12/09(木) 13:38:41.08ID:ZoIDn0OR 逆に、年2桁の時は、
その数値で年月日が特定できるか問題があった。
02 12 29 --> 12年02月29日 と 29年02月12日 の2通りがある
02 13 29 --> 13年02月29日はないので、29年02月13日のみ
その数値で年月日が特定できるか問題があった。
02 12 29 --> 12年02月29日 と 29年02月12日 の2通りがある
02 13 29 --> 13年02月29日はないので、29年02月13日のみ
453デフォルトの名無しさん
2021/12/09(木) 13:44:59.59ID:ZoIDn0OR454デフォルトの名無しさん
2021/12/09(木) 14:42:16.44ID:b/vm8aBu そういえば食品の賞味期限がどう読んだらいいか分からなかったことがあったなあ。
11/02/13
2013年2月11日なのか、それとも2013年11月2日なのか、まさか2011年2月13日だったりしたらどうしよう、みたいな。
普通に輸入されているものなら日本語ラベルがあるから分かるだろうけど、友達が現地のお土産屋で買ってきた
お菓子みたいなものだとそのまんまだったりする(まあ、アメリカかアメリカ以外かで考えればだいたいは大丈夫
なのかも知れないが)。
日本の元号みたいな独自年号まで使われているのが混在していたら余計に分からないよな。今の日本では
あまりないだろうけど昭和の頃はあったような気がするなあ。
11/02/13
2013年2月11日なのか、それとも2013年11月2日なのか、まさか2011年2月13日だったりしたらどうしよう、みたいな。
普通に輸入されているものなら日本語ラベルがあるから分かるだろうけど、友達が現地のお土産屋で買ってきた
お菓子みたいなものだとそのまんまだったりする(まあ、アメリカかアメリカ以外かで考えればだいたいは大丈夫
なのかも知れないが)。
日本の元号みたいな独自年号まで使われているのが混在していたら余計に分からないよな。今の日本では
あまりないだろうけど昭和の頃はあったような気がするなあ。
455デフォルトの名無しさん
2021/12/09(木) 22:53:27.33ID:93rp7Kwc456デフォルトの名無しさん
2021/12/09(木) 23:18:40.40ID:2ghuDZG2457デフォルトの名無しさん
2021/12/10(金) 00:33:54.80ID:Uh57IFJZ >>446
C
https://paiza.io/projects/YQ8ORfELqUt1xkKqmysViQ
入力を配列に入れてからカウントさせている。(uint32_t 型の配列)
カウント部分は>>456に似てる。しかし最初に引くのは思いつかなかった。
C
https://paiza.io/projects/YQ8ORfELqUt1xkKqmysViQ
入力を配列に入れてからカウントさせている。(uint32_t 型の配列)
カウント部分は>>456に似てる。しかし最初に引くのは思いつかなかった。
458デフォルトの名無しさん
2021/12/10(金) 01:03:30.79ID:Uh57IFJZ >>448
Perl
https://paiza.io/projects/o4VTdU_kK-S8T4G5HvkIRw
年月日順で年がある場合は必ず4桁でなければならない。
4だけでも4月に判定されるが、まあいいか。
Perl
https://paiza.io/projects/o4VTdU_kK-S8T4G5HvkIRw
年月日順で年がある場合は必ず4桁でなければならない。
4だけでも4月に判定されるが、まあいいか。
459デフォルトの名無しさん
2021/12/10(金) 09:12:55.36ID:rDACCx1y >>446
Haskell
sumCntBits = id
. length
. filter odd
. ( >>= ( takeWhile ( /= 0 ) . iterate ( flip div 2 ) ) )
main = do
print $ sumCntBits [ 0xde, 0x96 ]
print $ sumCntBits [ 0x12345, 0x6789a,0xbcdef ]
----
10
32
Haskell
sumCntBits = id
. length
. filter odd
. ( >>= ( takeWhile ( /= 0 ) . iterate ( flip div 2 ) ) )
main = do
print $ sumCntBits [ 0xde, 0x96 ]
print $ sumCntBits [ 0x12345, 0x6789a,0xbcdef ]
----
10
32
460デフォルトの名無しさん
2021/12/11(土) 11:47:37.10ID:kARxTGM3 >>446 rust
https://ideone.com/9yFeU3
fn main() {
let f = |a: &[u32]| a.iter().map(|n| n.count_ones()).sum::<u32>();
println!("{}", f(&[0xde, 0x96]));
}
https://ideone.com/9yFeU3
fn main() {
let f = |a: &[u32]| a.iter().map(|n| n.count_ones()).sum::<u32>();
println!("{}", f(&[0xde, 0x96]));
}
461デフォルトの名無しさん
2021/12/11(土) 20:38:05.35ID:LF8J+dNV >>446
Kotlin
https://paiza.io/projects/7hQyycMNf5nuV5HcBg6iQg
普通に作るのは出尽くした感があるのでちょっと変わったやり方にした。
入力から Int の List を作り、それを 1 ビットづつの Boolean のリスト(というか Iterator) にしてから true のみをカウントしている。
Kotlin
https://paiza.io/projects/7hQyycMNf5nuV5HcBg6iQg
普通に作るのは出尽くした感があるのでちょっと変わったやり方にした。
入力から Int の List を作り、それを 1 ビットづつの Boolean のリスト(というか Iterator) にしてから true のみをカウントしている。
462デフォルトの名無しさん
2021/12/11(土) 22:30:09.92ID:LvGvT7a1463デフォルトの名無しさん
2021/12/14(火) 17:40:23.45ID:kbrFI/m0 もうすぐ、2022年
[お題] 2022は"x3y1数"(造語)?
以下の二つを満たす正の整数を"x3y1数"と呼ぶ
・各桁の数値が、二種類のみの数字からなる
・上の二数の個数比は 3:1
該当例:1112, 2212, 2022, 32222223, 999999999888
ダメな例:2213(種類), 4444(種類), 33232(個数比), 0222(先頭ゼロ)
整数A,Bが与えられる。A以上B以下の"x3y1数"はいくつあるか?
制約: 0 < A <= B <= 10^18
1) 2923 3311 --> 8
該当は [2999, 3000, 3033, 3111, 3133, 3222, 3233, 3303]
2) 2021 77977796 --> 2022
3) 3000 6666566566566555 --> ?
4) 999999999889 1000000000000110 --> ?
5) 1 1000000000000000000 --> ?
※実行時間:上の5問をクエリーとし全部を2秒程度
[お題] 2022は"x3y1数"(造語)?
以下の二つを満たす正の整数を"x3y1数"と呼ぶ
・各桁の数値が、二種類のみの数字からなる
・上の二数の個数比は 3:1
該当例:1112, 2212, 2022, 32222223, 999999999888
ダメな例:2213(種類), 4444(種類), 33232(個数比), 0222(先頭ゼロ)
整数A,Bが与えられる。A以上B以下の"x3y1数"はいくつあるか?
制約: 0 < A <= B <= 10^18
1) 2923 3311 --> 8
該当は [2999, 3000, 3033, 3111, 3133, 3222, 3233, 3303]
2) 2021 77977796 --> 2022
3) 3000 6666566566566555 --> ?
4) 999999999889 1000000000000110 --> ?
5) 1 1000000000000000000 --> ?
※実行時間:上の5問をクエリーとし全部を2秒程度
464デフォルトの名無しさん
2021/12/16(木) 03:59:00.84ID:p3cQ7gqk お題:自分用double-double演算ライブラリ
最低限、通常のdoubleとの相互変換は可能であること。それに加えて、
1)加減算
2)加減算 + 乗算
3)四則演算
数字が大きいもの程上級者向けです。
演算子のオーバーロードなどは任意とします。
最低限、通常のdoubleとの相互変換は可能であること。それに加えて、
1)加減算
2)加減算 + 乗算
3)四則演算
数字が大きいもの程上級者向けです。
演算子のオーバーロードなどは任意とします。
465デフォルトの名無しさん
2021/12/16(木) 07:13:07.04ID:iDMhxZSI >>464
多倍長演算ライブラリ、のことですか?
多倍長演算ライブラリ、のことですか?
466デフォルトの名無しさん
2021/12/16(木) 07:37:15.94ID:I1MQqoQo >>465
アホ
アホ
467デフォルトの名無しさん
2021/12/16(木) 20:36:30.04ID:teZIL57B >>463 c
https://ideone.com/SjWUYZ
・数字を数えて判定
・範囲内の全ての整数をチェック
・想像以上に遅くてダメだった
>>463 ruby
https://ideone.com/JYQPIF
https://ideone.com/SjWUYZ
・数字を数えて判定
・範囲内の全ての整数をチェック
・想像以上に遅くてダメだった
>>463 ruby
https://ideone.com/JYQPIF
468デフォルトの名無しさん
2021/12/16(木) 20:39:48.12ID:iDMhxZSI >>466
double の演算を自分で実装するという意味ですか?
sum(double, double)
diff(double, double)
mul(double, double)
div(double, double)
を自分で実装する、という話でいいですか?
あと double のフォーマットは IEEE754 でいいですか?
double の演算を自分で実装するという意味ですか?
sum(double, double)
diff(double, double)
mul(double, double)
div(double, double)
を自分で実装する、という話でいいですか?
あと double のフォーマットは IEEE754 でいいですか?
469デフォルトの名無しさん
2021/12/16(木) 20:57:05.50ID:Y2CVy/MB 問題が説明不足では?
470デフォルトの名無しさん
2021/12/16(木) 21:53:18.15ID:B45/3FnD お題: テキストを読み込みそれをクリスマスツリーにして出力しなさい
クリスマスツリーに見えれば形は自由とする
入力
本日は良いお日柄ですね
出力
___本
__日は
_良いお
日柄です
___ね
クリスマスツリーに見えれば形は自由とする
入力
本日は良いお日柄ですね
出力
___本
__日は
_良いお
日柄です
___ね
471デフォルトの名無しさん
2021/12/16(木) 22:32:14.13ID:iDMhxZSI >>470
文字コードは何を仮定すればいいのですか?
文字コードは何を仮定すればいいのですか?
472デフォルトの名無しさん
2021/12/16(木) 22:34:05.93ID:B45/3FnD473デフォルトの名無しさん
2021/12/17(金) 00:19:35.20ID:6Xap9yRK474デフォルトの名無しさん
2021/12/17(金) 04:20:32.14ID:QblDDO27 二種類のみの数字からなり個数比は 3:1
引数の範囲は 1-10^18 = 1001-9999999999998888(16桁)
以下の範囲に限られる
1000-9998
1000 0001-9999 9988
1000 0000 0011-9999 9999 9888
1000 0000 0000 0111-9999 9999 9999 8888
「二種類のみの数字からなる」を計算式で判定する方法ある?
引数の範囲は 1-10^18 = 1001-9999999999998888(16桁)
以下の範囲に限られる
1000-9998
1000 0001-9999 9988
1000 0000 0011-9999 9999 9888
1000 0000 0000 0111-9999 9999 9999 8888
「二種類のみの数字からなる」を計算式で判定する方法ある?
475デフォルトの名無しさん
2021/12/17(金) 05:36:58.41ID:5DT5Lvck 1([\d&&[^1]])\1{2} 最上位桁が比1
111[\d&&[^1]],11[\d&&[^1]]1,1[\d&&[^1]]11 最上位桁が比3
一般化 (\d)(?!\1)(\d)\2{2}|(\d)\1{2}(?!\1)\d|(\d)\1(?!\1)\d\1|(\d)(?!\1)\d\1{2}
4桁ならこれでもいいけど8桁以上になると複雑化するし
地道に数えるより 4の倍数桁,数字2種,比率1:3 のルールで生成する方が速そう
111[\d&&[^1]],11[\d&&[^1]]1,1[\d&&[^1]]11 最上位桁が比3
一般化 (\d)(?!\1)(\d)\2{2}|(\d)\1{2}(?!\1)\d|(\d)\1(?!\1)\d\1|(\d)(?!\1)\d\1{2}
4桁ならこれでもいいけど8桁以上になると複雑化するし
地道に数えるより 4の倍数桁,数字2種,比率1:3 のルールで生成する方が速そう
476463
2021/12/17(金) 16:22:06.93ID:ssQAe3ef >>463
https://ideone.com/xTDtME
想定解は、事前に4,8,12,16桁の"x3y1"数を全列挙して作っておく。
プログラミング的には、各言語の順列や組合せを使って、作れるだろう。
(想定解例では組合せは2ベキとpopcountから作っている)
「それは、全列挙数が小さいとわかっているからでは..?」に対して
プログラムで出すのなら、雑に最も大きい16桁が4つあるとして計算
10P2 * 16C4 * 4 < 70万 なので、全列挙可能
まじめに計算すると 10P2 * (16C4 + 12C3 + 8C4 + 4C1) * 9 /10 = 167,832
列挙済みならば、クエリー5件程度なら、16.7万*5 チェックで間に合う。
ちゃんとやるなら、ソートして二分探索すれば、数千単位のクエリーに対応できる。
(想定解例では後者でやっている)
https://ideone.com/xTDtME
想定解は、事前に4,8,12,16桁の"x3y1"数を全列挙して作っておく。
プログラミング的には、各言語の順列や組合せを使って、作れるだろう。
(想定解例では組合せは2ベキとpopcountから作っている)
「それは、全列挙数が小さいとわかっているからでは..?」に対して
プログラムで出すのなら、雑に最も大きい16桁が4つあるとして計算
10P2 * 16C4 * 4 < 70万 なので、全列挙可能
まじめに計算すると 10P2 * (16C4 + 12C3 + 8C4 + 4C1) * 9 /10 = 167,832
列挙済みならば、クエリー5件程度なら、16.7万*5 チェックで間に合う。
ちゃんとやるなら、ソートして二分探索すれば、数千単位のクエリーに対応できる。
(想定解例では後者でやっている)
477デフォルトの名無しさん
2021/12/17(金) 20:17:58.00ID:gjoWWzuf478467
2021/12/17(金) 20:31:12.28ID:llvCqHRj479デフォルトの名無しさん
2021/12/17(金) 23:34:29.99ID:llvCqHRj480デフォルトの名無しさん
2021/12/18(土) 16:20:56.22ID:b+l2srj7481464
2021/12/18(土) 16:29:44.66ID:ElKfLkKB482デフォルトの名無しさん
2021/12/18(土) 16:50:56.06ID:XqEkP9jw > Wikipediaの「四倍精度浮動小数点数」の項に少しだけ載ってますです。
一般的な用語じゃないんだから初めからこれ書いとけよ
一般的な用語じゃないんだから初めからこれ書いとけよ
484デフォルトの名無しさん
2021/12/19(日) 21:10:50.32ID:wQiNAkF9485デフォルトの名無しさん
2021/12/21(火) 19:32:25.39ID:FcpxpynD 128ビットあるのに106ビットしか使わんの?
もったいなくね?
もったいなくね?
486デフォルトの名無しさん
2021/12/21(火) 19:47:17.61ID:1JACqwUF 素人はだまってろ
487デフォルトの名無しさん
2021/12/21(火) 21:17:48.02ID:cWMYIacO488デフォルトの名無しさん
2021/12/22(水) 04:27:38.39ID:5fCeD7fV double-doubleはFMAがFMAとして役立つ数少ない用途だな
積和じゃなくて3個の和のfused命令も欲しくなる
積和じゃなくて3個の和のfused命令も欲しくなる
489デフォルトの名無しさん
2021/12/23(木) 07:32:47.64ID:Xd/JFvMa お題: 1つの整数から規則性のある複数の整数を生成せよ
生成される整数は再現性がなければならない
生成される整数は再現性がなければならない
490デフォルトの名無しさん
2021/12/23(木) 07:37:01.70ID:GwakKG68491デフォルトの名無しさん
2021/12/23(木) 09:01:28.76ID:S2rGJ6tV >>489 Ruby
def sequence( seed, number )
srand( seed )
Array.new( number ){ rand(100) }
end
p sequence( 123, 10 ) #=> [66, 92, 98, 17, 83, 57, 86, 97, 96, 47]
p sequence( 123, 10 ) #=> [66, 92, 98, 17, 83, 57, 86, 97, 96, 47]
def sequence( seed, number )
srand( seed )
Array.new( number ){ rand(100) }
end
p sequence( 123, 10 ) #=> [66, 92, 98, 17, 83, 57, 86, 97, 96, 47]
p sequence( 123, 10 ) #=> [66, 92, 98, 17, 83, 57, 86, 97, 96, 47]
492デフォルトの名無しさん
2021/12/23(木) 19:26:32.49ID:KAa76evj >>486 ocaml
https://ideone.com/NzF5f2
let f =
let rec fib = function
0 -> 0 | 1 -> 1 | n -> fib (n - 1) + fib (n - 2)
and aux acc = function
-1 -> acc | m -> aux (fib m :: acc) (m - 1)
in aux []
https://ideone.com/NzF5f2
let f =
let rec fib = function
0 -> 0 | 1 -> 1 | n -> fib (n - 1) + fib (n - 2)
and aux acc = function
-1 -> acc | m -> aux (fib m :: acc) (m - 1)
in aux []
493デフォルトの名無しさん
2021/12/23(木) 19:27:19.05ID:KAa76evj >>489 ocaml
https://ideone.com/NzF5f2
let f =
let rec fib = function
0 -> 0 | 1 -> 1 | n -> fib (n - 1) + fib (n - 2)
and aux acc = function
-1 -> acc | m -> aux (fib m :: acc) (m - 1)
in aux []
https://ideone.com/NzF5f2
let f =
let rec fib = function
0 -> 0 | 1 -> 1 | n -> fib (n - 1) + fib (n - 2)
and aux acc = function
-1 -> acc | m -> aux (fib m :: acc) (m - 1)
in aux []
494デフォルトの名無しさん
2021/12/24(金) 17:16:46.67ID:Xt+LQVaD >>488
Juliaのhypot()でもFMA使ってますです
Juliaのhypot()でもFMA使ってますです
495デフォルトの名無しさん
2021/12/24(金) 22:51:57.83ID:Y/w+woHG496デフォルトの名無しさん
2021/12/25(土) 03:52:36.33ID:62MjaTIU497デフォルトの名無しさん
2021/12/27(月) 20:25:00.12ID:7ybeEGfH [お題] 平均が2022な素数数列
5000以下のあい異なる素数で、加算平均がぴったり 2022 の数列を作る。
数列の項数(要素数)を最大化する、最大はいくつか。
最大数と数列を表示する。
※解答例(もちろん4以上がある)
4
[1747, 2099, 2113, 2129]
※実行時間は素数生成を含めて、4秒以内
最大な数列は複数通りあると思うので、一例のみで
5000以下のあい異なる素数で、加算平均がぴったり 2022 の数列を作る。
数列の項数(要素数)を最大化する、最大はいくつか。
最大数と数列を表示する。
※解答例(もちろん4以上がある)
4
[1747, 2099, 2113, 2129]
※実行時間は素数生成を含めて、4秒以内
最大な数列は複数通りあると思うので、一例のみで
498デフォルトの名無しさん
2021/12/29(水) 15:58:08.20ID:czxFIFL7 答えは595個?
計算機+理詰めで595個っぽいけど
計算機+理詰めで595個っぽいけど
499デフォルトの名無しさん
2021/12/29(水) 16:38:34.79ID:cOaqDcVM 「Log4j」2.17.0にもリモートコード実行の脆弱性
500497
2021/12/29(水) 20:37:12.14ID:GN7CzEgH >>497 c++
https://ideone.com/UBbtWd
"素数-2022"で適当に最大化DPすれば、合計0相当の所に答えが……。
個人的には他の復元方法を見たかった。
pythonは遅いのであきらめた(高速化方法を知らない)
>>498
595個でした。手作業でできるレベルなら……
https://ideone.com/UBbtWd
"素数-2022"で適当に最大化DPすれば、合計0相当の所に答えが……。
個人的には他の復元方法を見たかった。
pythonは遅いのであきらめた(高速化方法を知らない)
>>498
595個でした。手作業でできるレベルなら……
501デフォルトの名無しさん
2021/12/29(水) 22:36:34.62ID:d+UhR9Ru オレがやったのは
p[n]をn番目の素数、
P[n]をn番目までの素数の集合、
s[n]をP[n]の和
a=2022として
まず素数のn元集合で平均が1番小さくなるのはP[n]でその平均値s[n]/nは単調増加だからs[n]/n>aの時元数n以上の解はない
s[596]/596>aは計算機で確認
なので595元集合で解があればそれが最大
s[595]/595<aなのでP[595]はダメ
s[596]-595a = 1205525 - 1203090 = 2435は素数ではないのでP[597]から一個消すのはダメ
s[597]-595a = 1209898 - 1203090 = 6808 はp597=4373以下の素数2459,4349の和で表すことができる
よってP[597]\{2459,4349}の和は595aとなる
完全に全自動で探索するプログラムも作れそうだけど答え出たらもういいかなと手が止まってしまった
p[n]をn番目の素数、
P[n]をn番目までの素数の集合、
s[n]をP[n]の和
a=2022として
まず素数のn元集合で平均が1番小さくなるのはP[n]でその平均値s[n]/nは単調増加だからs[n]/n>aの時元数n以上の解はない
s[596]/596>aは計算機で確認
なので595元集合で解があればそれが最大
s[595]/595<aなのでP[595]はダメ
s[596]-595a = 1205525 - 1203090 = 2435は素数ではないのでP[597]から一個消すのはダメ
s[597]-595a = 1209898 - 1203090 = 6808 はp597=4373以下の素数2459,4349の和で表すことができる
よってP[597]\{2459,4349}の和は595aとなる
完全に全自動で探索するプログラムも作れそうだけど答え出たらもういいかなと手が止まってしまった
502デフォルトの名無しさん
2021/12/30(木) 12:24:49.52ID:sGmJGaqc 何個取り除いたら平均2022にできるか考えると
確か74個だったけな?
JavaScriptで1秒もかかんなかったか
確か74個だったけな?
JavaScriptで1秒もかかんなかったか
503502
2021/12/30(木) 12:30:19.06ID:sGmJGaqc 表示時間除いたら1秒かかってないな
探索はほぼ一回でボトムまで到達して
発見された
探索はほぼ一回でボトムまで到達して
発見された
505デフォルトの名無しさん
2021/12/30(木) 20:10:02.90ID:jVgYGZiS >>502
最大の個数を求めよやろ?
最大の個数を求めよやろ?
506デフォルトの名無しさん
2021/12/30(木) 20:24:56.63ID:JL7tAErK 千葉興業銀行、4月から副業解禁 県内地銀初
南都銀行、4月から行員の副業制度導入 ウェブ制作など
荘内銀、行員の副業・兼業解禁
フィデアHD、副業・兼業制度を導入
横浜銀行、10月から従業員の副業・兼業解禁
鹿児島銀、副業解禁を検討 九州FGと肥後銀は10月導入
肥後銀行が副業制度導入へ 多様な働き方認める 10月から
南都銀行、4月から行員の副業制度導入 ウェブ制作など
荘内銀、行員の副業・兼業解禁
フィデアHD、副業・兼業制度を導入
横浜銀行、10月から従業員の副業・兼業解禁
鹿児島銀、副業解禁を検討 九州FGと肥後銀は10月導入
肥後銀行が副業制度導入へ 多様な働き方認める 10月から
507デフォルトの名無しさん
2021/12/31(金) 15:04:12.13ID:bqUePCKa >>497
haskell
https://ideone.com/GLMXRV
>>501のアルゴリズムを自動化してみた
すげー簡単なところでどハマりして半日かかった
まだ解なしの場合とかの動作チェックとかしてないけどもうどうでもいい
haskell
https://ideone.com/GLMXRV
>>501のアルゴリズムを自動化してみた
すげー簡単なところでどハマりして半日かかった
まだ解なしの場合とかの動作チェックとかしてないけどもうどうでもいい
508デフォルトの名無しさん
2021/12/31(金) 15:09:29.33ID:bqUePCKa ちなみに出力形式は
(最大個数、最大素数の通し番号、最大素数までの間での素数で除外する素数のリスト)
try 67%5
→(5,8,[2,3,5])
は最初の個数8個[2,3,5,7,11,13,17,19]から[2,3,5]を抜いた[7,11,13,17,19]の5個が平均が67/5になる素数のリストの一つ
長さ
6以上はない
(最大個数、最大素数の通し番号、最大素数までの間での素数で除外する素数のリスト)
try 67%5
→(5,8,[2,3,5])
は最初の個数8個[2,3,5,7,11,13,17,19]から[2,3,5]を抜いた[7,11,13,17,19]の5個が平均が67/5になる素数のリストの一つ
長さ
6以上はない
509デフォルトの名無しさん
2022/01/08(土) 11:42:09.36ID:B5P29Cqv お題:
xをゼロ以上の浮動小数点数として
2^floor(log2(x))
の計算。ただし、x == 0 の場合はゼロとする。
xをゼロ以上の浮動小数点数として
2^floor(log2(x))
の計算。ただし、x == 0 の場合はゼロとする。
510デフォルトの名無しさん
2022/01/08(土) 18:45:49.69ID:qvdwzZse >>481
>binary64を二つ使って、上位53ビットと下位53ビットとで106ビットの浮動小数に見立てたものが
>double-double演算です。
現在検討中ですが、binary64 中には仮数部に使用できるビット幅は 52 bits しかありません。つまりケチビット表現です
53+53 とのことですが、実際には 53 + 52 = 105 しか格納できないのではないでしょうか?
>binary64を二つ使って、上位53ビットと下位53ビットとで106ビットの浮動小数に見立てたものが
>double-double演算です。
現在検討中ですが、binary64 中には仮数部に使用できるビット幅は 52 bits しかありません。つまりケチビット表現です
53+53 とのことですが、実際には 53 + 52 = 105 しか格納できないのではないでしょうか?
512デフォルトの名無しさん
2022/01/09(日) 01:28:46.61ID:/FHAAuzb >>509
perlでワンライナー。入力は標準入力からする。
perl -MPOSIX -ne 'chomp;$n=$_?2**floor(log($_)/log(2)):0;print "$n\n"'
でも、こんなので良いの?自分ではほとんど何も考えてないんだが。
(log2()がないからlog(n)/log(2)でやるって所ぐらいしか工夫がない)
perlでワンライナー。入力は標準入力からする。
perl -MPOSIX -ne 'chomp;$n=$_?2**floor(log($_)/log(2)):0;print "$n\n"'
でも、こんなので良いの?自分ではほとんど何も考えてないんだが。
(log2()がないからlog(n)/log(2)でやるって所ぐらいしか工夫がない)
513デフォルトの名無しさん
2022/01/09(日) 07:56:15.63ID:9G1CcY2f >>509 C++
環境+コンパイルオプション依存 little endian, double = 64bit, long double = 128bit
double fl2( double x )
{
*( (uint64_t*) &x ) &= 0xFFF0000000000000LLU;
return x;
}
long double fl2( long double x )
{
*( (__uint128_t*) &x ) &= *( (__uint128_t*)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF" );
return x;
}
環境+コンパイルオプション依存 little endian, double = 64bit, long double = 128bit
double fl2( double x )
{
*( (uint64_t*) &x ) &= 0xFFF0000000000000LLU;
return x;
}
long double fl2( long double x )
{
*( (__uint128_t*) &x ) &= *( (__uint128_t*)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF" );
return x;
}
514デフォルトの名無しさん
2022/01/09(日) 07:59:19.16ID:+WoQnCHD 2進表記した時に先頭のビット以外を0にすればいいだけだがワンライナーで書ける気がしない
515デフォルトの名無しさん
2022/01/09(日) 08:00:08.09ID:+WoQnCHD 先頭のビットというより「(存在するなら)0じゃない一番位の大きいビット」だな
516デフォルトの名無しさん
2022/01/09(日) 08:27:45.00ID:Gu7/igUi ビットいじる方法だと、非正規化数が0に、NaNが無限大になる
そういえば、無限大やNaNはどうすればいいのだろうか
そういえば、無限大やNaNはどうすればいいのだろうか
517509
2022/01/09(日) 09:16:00.82ID:42F2CcU6 Python
でかい値だとうまくいかないやつ
def foo(x):
_c = x * float(2 ** 52 + 1)
_xh = c - (c - x)
_if xh > x: return(xh * 0.5)
_return(xh)
>>516
深く考えてませんでしたw
でかい値だとうまくいかないやつ
def foo(x):
_c = x * float(2 ** 52 + 1)
_xh = c - (c - x)
_if xh > x: return(xh * 0.5)
_return(xh)
>>516
深く考えてませんでしたw
518509
2022/01/09(日) 09:53:47.91ID:42F2CcU6 >>512
log2(n)をlog(n)/log(2)で近似した際の「誤差」
(ぴったり整数値になって欲しいのにそれよりも数ulp小さい値になったとか、
数ulp大きくて、ぎりぎりfloor()で切り捨てられる筈の値が1大きくなったとか)
を補償するコードが欲しい。
log2(n)をlog(n)/log(2)で近似した際の「誤差」
(ぴったり整数値になって欲しいのにそれよりも数ulp小さい値になったとか、
数ulp大きくて、ぎりぎりfloor()で切り捨てられる筈の値が1大きくなったとか)
を補償するコードが欲しい。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- 【高市早苗】バス会社、中国からのキャンセルで12月で2000万円~3000万円の損失へ [115996789]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
- 肛門塞がれたらウンコ出せなくて死ぬの?
- ワイの親が毒親か判断するスレ
