プログラミングのお題スレです。
【出題と回答例】
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
173デフォルトの名無しさん
2021/09/15(水) 23:00:11.21ID:UGHCgEvY >>171
それです
見つけ方は>>171さんの方法が1番簡単
なんせ何も工夫しなくてもC[12,3]=220通りしかないので全部総当たりで計算する方が早い
それには
5a+ 2b+ 3c+ 4d+ 1e+ 6f+ 1g+ 4h+ 3i+ 2j+ 5k+ 0l
≧
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、
5a+ 0b+ 5c+ 2d+ 3e+ 4f+ 1g+ 6h+ 1i+ 4j+ 3k+ 2l
≧
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、
a*b+c+d+e+f+g+h+i+j*k+l≧1
の中の
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l
の最大値探す時に例えばd,f,h成分だけ0でない領域での最大値を見つけるには12元の線形方程式
5a+ 2b+ 3c+ 4d+ 1e+ 6f+ 1g+ 4h+ 3i+ 2j+ 5k+ 0l
=
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、
5a+ 0b+ 5c+ 2d+ 3e+ 4f+ 1g+ 6h+ 1i+ 4j+ 3k+ 2l
=
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、
a*b+c+d+e+f+g+h+i+j*k+l=1、
a=b=c=e=g=i=j=k=l=0
を解いてどれかの成分が0以下なら捨て、正なら候補に残して全部調べてのパターンを後3つやればいけます
(もちろん有理係数の線形方程式なので解は有理数)
その際線形代数の計算をやってくれるライブラリがあれはそんなに大変な作業にはならないはずです
というかこのタイプの問題“線形計画法”この問題解くためのライブラリ持ってるやつが多いのでその場合は数行で終わってしまいます
それです
見つけ方は>>171さんの方法が1番簡単
なんせ何も工夫しなくてもC[12,3]=220通りしかないので全部総当たりで計算する方が早い
それには
5a+ 2b+ 3c+ 4d+ 1e+ 6f+ 1g+ 4h+ 3i+ 2j+ 5k+ 0l
≧
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、
5a+ 0b+ 5c+ 2d+ 3e+ 4f+ 1g+ 6h+ 1i+ 4j+ 3k+ 2l
≧
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、
a*b+c+d+e+f+g+h+i+j*k+l≧1
の中の
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l
の最大値探す時に例えばd,f,h成分だけ0でない領域での最大値を見つけるには12元の線形方程式
5a+ 2b+ 3c+ 4d+ 1e+ 6f+ 1g+ 4h+ 3i+ 2j+ 5k+ 0l
=
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、
5a+ 0b+ 5c+ 2d+ 3e+ 4f+ 1g+ 6h+ 1i+ 4j+ 3k+ 2l
=
0a+ 5b+ 2c+ 3d+ 4e+ 1f+ 6g+ 1h+ 4i+ 3j+ 2k+ 5l、
a*b+c+d+e+f+g+h+i+j*k+l=1、
a=b=c=e=g=i=j=k=l=0
を解いてどれかの成分が0以下なら捨て、正なら候補に残して全部調べてのパターンを後3つやればいけます
(もちろん有理係数の線形方程式なので解は有理数)
その際線形代数の計算をやってくれるライブラリがあれはそんなに大変な作業にはならないはずです
というかこのタイプの問題“線形計画法”この問題解くためのライブラリ持ってるやつが多いのでその場合は数行で終わってしまいます
174デフォルトの名無しさん
2021/09/16(木) 00:34:05.02ID:g1b5b/gu175デフォルトの名無しさん
2021/09/19(日) 19:11:20.33ID:zqOP2O5f >>174
理詰めの解答よりこういう力技の解答の方がありがたいです
理詰めはどっかでうっかり間違ってる事も多いので
>>172さんの方針で220通り全数検索するコード組んでみました
https://ideone.com/Vyqp8r
元々用意してた解答は単体法( Simplex algorythm)というやつ使う方法だったんですけど、220個位なら全数検査した方が安全ですね
しかも全部調べるのでベスト10とか出せる
さっきのコードは原曲のままが最小になる場合のベスト10とどちらかに半音ずらした方が最小になる場合のベスト10です
理詰めの解答よりこういう力技の解答の方がありがたいです
理詰めはどっかでうっかり間違ってる事も多いので
>>172さんの方針で220通り全数検索するコード組んでみました
https://ideone.com/Vyqp8r
元々用意してた解答は単体法( Simplex algorythm)というやつ使う方法だったんですけど、220個位なら全数検査した方が安全ですね
しかも全部調べるのでベスト10とか出せる
さっきのコードは原曲のままが最小になる場合のベスト10とどちらかに半音ずらした方が最小になる場合のベスト10です
176蟻人間 ◆T6xkBnTXz7B0
2021/09/23(木) 00:23:18.14ID:WyFAZLWz お題: 中心(x, y)で半径mの円と、中心(z, w)で半径nの円の当たり判定。
177蟻人間 ◆T6xkBnTXz7B0
2021/09/23(木) 00:36:24.97ID:WyFAZLWz お題: カオス理論で知られるローレンツ・アトラクタを描画せよ。
178蟻人間 ◆T6xkBnTXz7B0
2021/09/23(木) 00:45:13.27ID:WyFAZLWz お題: 厚み0.5cm長さX cmのしなやかなテープを最小のうずまき状にまるめると直径は何cmになるか。X = 20, 30, 50.
180デフォルトの名無しさん
2021/09/23(木) 12:40:13.64ID:fWOsjY2x document.querySelectorAll('.post').forEach( e => {
const nameElement = e.querySelector('.name');
if(nameElement === null) return;
const name = nameElement.innerText;
if(name.indexOf('◆T6xkBnTXz7B0') >= 0 || name.indexOf('◆QZaw55cn4c') >= 0) e.remove();
});
const nameElement = e.querySelector('.name');
if(nameElement === null) return;
const name = nameElement.innerText;
if(name.indexOf('◆T6xkBnTXz7B0') >= 0 || name.indexOf('◆QZaw55cn4c') >= 0) e.remove();
});
181デフォルトの名無しさん
2021/09/23(木) 16:05:27.59ID:jg/8HMJJ >>176
それって数学的な証明はよくわからないんだけど直感的に考えると、(x, y) から (z, w) の距離が m + n 以下なら当たりで良いのかな?
他のパターンで当たる場合はなさそうだけど、あったとしても今は思いつかないのでとりあえずプログラムはそれで作ろうかと思う。
それって数学的な証明はよくわからないんだけど直感的に考えると、(x, y) から (z, w) の距離が m + n 以下なら当たりで良いのかな?
他のパターンで当たる場合はなさそうだけど、あったとしても今は思いつかないのでとりあえずプログラムはそれで作ろうかと思う。
182デフォルトの名無しさん
2021/09/23(木) 16:34:26.56ID:LOQBNAlJ 円周か円板かで答えが違う
183デフォルトの名無しさん
2021/09/23(木) 17:12:27.81ID:QUC7Fk2H 入力として整数値が与えられたらその中の立っているビットを
等確率でランダムに一つ抜き出した整数値を出力する
3が与えられたら1か2のどちらかを1/2の確率で
17179877640が与えられたら8か256か8192か17179869184のどれかを1/4で
等確率でランダムに一つ抜き出した整数値を出力する
3が与えられたら1か2のどちらかを1/2の確率で
17179877640が与えられたら8か256か8192か17179869184のどれかを1/4で
184デフォルトの名無しさん
2021/09/23(木) 18:08:32.21ID:em+PQ8QU >>Ruby
n = 17179877640
bits = []
while n > 0
n ^= b = n & -n
bits << b
end
puts bits.sample
n = 17179877640
bits = []
while n > 0
n ^= b = n & -n
bits << b
end
puts bits.sample
185181
2021/09/24(金) 02:52:30.55ID:N3yB15M0186デフォルトの名無しさん
2021/09/24(金) 18:51:00.62ID:FX1uO51R お題 繁分数
奇数個の整数がカンマで区切りで与えられる
間に'+'と'/'を順に挿入して計算する、ただし優先順位は後から優先
例) "1,2,3,4,5,6,7" → " 1 + 2 / ( 3 + 4 / ( 5 + 6 / 7 ))) = 233/151 ≒ 1.543046357616
計算結果を出力せよ
例)
入力 : "1,2,3,4,5,6,7"
出力 : 1.543046357616
入力 : "1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2"
出力 : 1.4142135623730951
入力 : "2,1, 1,1, 2,1, 1,1, 1,1, 4,1, 1,1, 1,1, 6,1, 1,1, 1,1 "
出力 : 2.718283582089552
入力 : "0, 4, 1, 1, 3, 4, 5, 9, 7, 16, 9, 25, 11, 36, 13, 49, 15, 64, 17, 81, 19, 100"
出力 : 3.141593311879928
奇数個の整数がカンマで区切りで与えられる
間に'+'と'/'を順に挿入して計算する、ただし優先順位は後から優先
例) "1,2,3,4,5,6,7" → " 1 + 2 / ( 3 + 4 / ( 5 + 6 / 7 ))) = 233/151 ≒ 1.543046357616
計算結果を出力せよ
例)
入力 : "1,2,3,4,5,6,7"
出力 : 1.543046357616
入力 : "1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2"
出力 : 1.4142135623730951
入力 : "2,1, 1,1, 2,1, 1,1, 1,1, 4,1, 1,1, 1,1, 6,1, 1,1, 1,1 "
出力 : 2.718283582089552
入力 : "0, 4, 1, 1, 3, 4, 5, 9, 7, 16, 9, 25, 11, 36, 13, 49, 15, 64, 17, 81, 19, 100"
出力 : 3.141593311879928
187デフォルトの名無しさん
2021/09/24(金) 19:42:20.13ID:SF8pwxS9 >>186
なぜ、偶数個あるのか?
偶数個は最後に1"を入れてやってみた
(頭悪いからリヴァースして、浮動小数点でやっている)
https://wandbox.org/permlink/jzQZa53lpDSPdJo1
なぜ、偶数個あるのか?
偶数個は最後に1"を入れてやってみた
(頭悪いからリヴァースして、浮動小数点でやっている)
https://wandbox.org/permlink/jzQZa53lpDSPdJo1
188デフォルトの名無しさん
2021/09/24(金) 21:54:41.68ID:uMkpdCmM >>187
数え間違えorz
数え間違えorz
189ハノン ◆QZaw55cn4c
2021/09/25(土) 21:21:39.43ID:YrZFQiAF19196
2021/09/25(土) 22:19:21.21ID:qK5TmKac >>186 Perl5
use feature qw{signatures say};
no warnings 'experimental';
sub s($a, $b, @a) { @a ? $a + &d($b, @a) : $a + $b }
sub d($a, $b, @a) { @a ? $a / &s($b, @a) : $a / $b }
say &s(/(\d+)/g) for <DATA>;
__DATA__
1,2,3,4,5,6,7
1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
2,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,6,1,1,1,1,1
0,4,1,1,3,4,5,9,7,16,9,25,11,36,13,49,15,64,17,81,19,100
実行結果
$ perl 20_186_fraction.pl
1.54304635761589
1.4142135623731
2.71828236824984
3.14159316790851
use feature qw{signatures say};
no warnings 'experimental';
sub s($a, $b, @a) { @a ? $a + &d($b, @a) : $a + $b }
sub d($a, $b, @a) { @a ? $a / &s($b, @a) : $a / $b }
say &s(/(\d+)/g) for <DATA>;
__DATA__
1,2,3,4,5,6,7
1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
2,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,6,1,1,1,1,1
0,4,1,1,3,4,5,9,7,16,9,25,11,36,13,49,15,64,17,81,19,100
実行結果
$ perl 20_186_fraction.pl
1.54304635761589
1.4142135623731
2.71828236824984
3.14159316790851
192デフォルトの名無しさん
2021/09/26(日) 00:35:27.94ID:x+MOSZRz >>186
ruby -ne "/$_.split(?,).map(&:to_f).each_slice(2).reverse_each.reduce{|(s), (a, b)| b / s + a}"
# input
1,2,3,4,5,6,7
1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2
2,1, 1,1, 2,1, 1,1, 1,1, 4,1, 1,1, 1,1, 6,1, 1,1, 1,1,1
0, 4, 1, 1, 3, 4, 5, 9, 7, 16, 9, 25, 11, 36, 13, 49, 15, 64, 17, 81, 19, 100, 1
# output
1.5430463576158941
1.4142135623730951
2.718282368249837
3.141593167908507
ruby -ne "/$_.split(?,).map(&:to_f).each_slice(2).reverse_each.reduce{|(s), (a, b)| b / s + a}"
# input
1,2,3,4,5,6,7
1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2
2,1, 1,1, 2,1, 1,1, 1,1, 4,1, 1,1, 1,1, 6,1, 1,1, 1,1,1
0, 4, 1, 1, 3, 4, 5, 9, 7, 16, 9, 25, 11, 36, 13, 49, 15, 64, 17, 81, 19, 100, 1
# output
1.5430463576158941
1.4142135623730951
2.718282368249837
3.141593167908507
193ハノン ◆QZaw55cn4c
2021/09/26(日) 02:32:13.09ID:fnZfkDL3 >>186 C
>>189
終端処理を間違えていたので御題にあわせて修正
https://ideone.com/4mkYde
233/151 = 1.54304635761589414855
1855077841/1311738121 = 1.41421356237309514547
1457/536 = 2.71828358208955211950
54193766400/17250408000 = 3.14159331187992751921
>>189
終端処理を間違えていたので御題にあわせて修正
https://ideone.com/4mkYde
233/151 = 1.54304635761589414855
1855077841/1311738121 = 1.41421356237309514547
1457/536 = 2.71828358208955211950
54193766400/17250408000 = 3.14159331187992751921
194デフォルトの名無しさん
2021/09/26(日) 02:51:04.12ID:edcxzAwz19596
2021/09/26(日) 11:06:39.50ID:ROfWiNc+ >>186 Perl5、>>191だと分母が大きい値になるテストケースで下の桁が例解と違ってくるので、通分を下から再帰的に行って
最後に割り算するようにした。また数値の個数が偶数だった場合には0を補うようにした
use feature qw{signatures say}; no warnings 'experimental';
sub f($a, $b, $c = 0, @r) {
if (@r) {
($c, $e) = f($c, @r);
$b *= $e;
}
($a * $c + $b), $c;
}
for (<DATA>) {
my ($n, $d) = f(/(\d+)/g);
say "$n / $d = ", $n / $d;
}
__DATA__
1,2,3,4,5,6,7
1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
2,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,6,1,1,1,1,1
0,4,1,1,3,4,5,9,7,16,9,25,11,36,13,49,15,64,17,81,19,100
$ perl 20_186_fraction_2.pl
233 / 151 = 1.54304635761589
1855077841 / 1311738121 = 1.4142135623731
1457 / 536 = 2.71828358208955
54193766400 / 17250408000 = 3.14159331187993
最後に割り算するようにした。また数値の個数が偶数だった場合には0を補うようにした
use feature qw{signatures say}; no warnings 'experimental';
sub f($a, $b, $c = 0, @r) {
if (@r) {
($c, $e) = f($c, @r);
$b *= $e;
}
($a * $c + $b), $c;
}
for (<DATA>) {
my ($n, $d) = f(/(\d+)/g);
say "$n / $d = ", $n / $d;
}
__DATA__
1,2,3,4,5,6,7
1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
2,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,6,1,1,1,1,1
0,4,1,1,3,4,5,9,7,16,9,25,11,36,13,49,15,64,17,81,19,100
$ perl 20_186_fraction_2.pl
233 / 151 = 1.54304635761589
1855077841 / 1311738121 = 1.4142135623731
1457 / 536 = 2.71828358208955
54193766400 / 17250408000 = 3.14159331187993
196デフォルトの名無しさん
2021/09/26(日) 13:52:29.02ID:Db797RWb197デフォルトの名無しさん
2021/09/26(日) 15:05:57.74ID:RIy3qD4V >>186 ocaml
https://ideone.com/VpQwAG
let f xs =
let rec g = function
[] -> 0, 1
| a :: [] -> a, 1
| a :: b :: [] -> a + b, 1
| a :: b :: cs -> let n, d = g cs in a * n + b * d, n
in let n, d = g xs in Printf.printf "%d / %d = " n d;float n /. float d
>>186 ocaml
https://ideone.com/5D0lHx
let f xs =
let rec g = function
[] -> 0, 1
| x :: [] -> x, 1
| x :: xs -> let n, d = h xs in x * d + n, d
and h = function
[] -> 0, 1
| x :: [] -> x, 1
| x :: xs -> let n, d = g xs in x * d, n
in let n, d = g xs in Printf.printf "%d / %d = " n d;float n /. float d
https://ideone.com/VpQwAG
let f xs =
let rec g = function
[] -> 0, 1
| a :: [] -> a, 1
| a :: b :: [] -> a + b, 1
| a :: b :: cs -> let n, d = g cs in a * n + b * d, n
in let n, d = g xs in Printf.printf "%d / %d = " n d;float n /. float d
>>186 ocaml
https://ideone.com/5D0lHx
let f xs =
let rec g = function
[] -> 0, 1
| x :: [] -> x, 1
| x :: xs -> let n, d = h xs in x * d + n, d
and h = function
[] -> 0, 1
| x :: [] -> x, 1
| x :: xs -> let n, d = g xs in x * d, n
in let n, d = g xs in Printf.printf "%d / %d = " n d;float n /. float d
198デフォルトの名無しさん
2021/09/26(日) 15:06:59.82ID:RIy3qD4V let g xs = Printf.printf "%.16f\n" @@ f xs
let () =
g [];g [1];g [1;2];g [1;2;3];g [1;2;3;4];g [1;2;3;4;5;6];
g [1;2;3;4;5;6;7];
g [1;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2];
g [2;1;1;1;2;1;1;1;1;1;4;1;1;1;1;1;6;1;1;1;1;1];
g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19;100];
g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19];
g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19;100;21]
↓
0 / 1 = 0.0000000000000000
1 / 1 = 1.0000000000000000
3 / 1 = 3.0000000000000000
5 / 3 = 1.6666666666666667
9 / 7 = 1.2857142857142858
59 / 37 = 1.5945945945945945
233 / 151 = 1.5430463576158941
1855077841 / 1311738121 = 1.4142135623730951
4178 / 1537 = 2.7182823682498372
66628546560 / 21208521600 = 3.1415931679085070
12434780160 / 3958113600 = 3.1415925404465401
315324149760 / 100370793600 = 3.1415926730303347
let () =
g [];g [1];g [1;2];g [1;2;3];g [1;2;3;4];g [1;2;3;4;5;6];
g [1;2;3;4;5;6;7];
g [1;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2;1;2];
g [2;1;1;1;2;1;1;1;1;1;4;1;1;1;1;1;6;1;1;1;1;1];
g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19;100];
g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19];
g [0;4;1;1;3;4;5;9;7;16;9;25;11;36;13;49;15;64;17;81;19;100;21]
↓
0 / 1 = 0.0000000000000000
1 / 1 = 1.0000000000000000
3 / 1 = 3.0000000000000000
5 / 3 = 1.6666666666666667
9 / 7 = 1.2857142857142858
59 / 37 = 1.5945945945945945
233 / 151 = 1.5430463576158941
1855077841 / 1311738121 = 1.4142135623730951
4178 / 1537 = 2.7182823682498372
66628546560 / 21208521600 = 3.1415931679085070
12434780160 / 3958113600 = 3.1415925404465401
315324149760 / 100370793600 = 3.1415926730303347
199ハノン ◆QZaw55cn4c
2021/09/26(日) 19:57:37.78ID:KhgDxRBF200ハノン ◆QZaw55cn4c
2021/09/26(日) 19:58:46.43ID:KhgDxRBF つまり >>193 は言語として冗長だ、という点が悲しい、という意味です、誤解を招かないように補充します
201デフォルトの名無しさん
2021/09/26(日) 21:14:48.05ID:K0n5mMQr202デフォルトの名無しさん
2021/09/26(日) 21:49:22.16ID:6LE1NaJb お題: 与えられたUTF-8日本語文章から空白と記号を取り除いた後の文字列にNGワードがあるかどうか判定せよ。
NGワード: 「集近閉」「地獄経済」
例文1「集☆近☆閉☆は☆不☆滅」
例文2「地/獄/経/済/は/大/丈/夫」
出力例:「NGワード「集近閉」があります。」
出力例:「OKです。」
NGワード: 「集近閉」「地獄経済」
例文1「集☆近☆閉☆は☆不☆滅」
例文2「地/獄/経/済/は/大/丈/夫」
出力例:「NGワード「集近閉」があります。」
出力例:「OKです。」
203デフォルトの名無しさん
2021/09/26(日) 21:51:41.83ID:K0n5mMQr204デフォルトの名無しさん
2021/09/26(日) 21:58:42.24ID:Db797RWb205デフォルトの名無しさん
2021/09/27(月) 02:09:19.34ID:mB71+9h3 お題:: 文字列に対して文字列の範囲を指定すると、その範囲を角カッコで囲って出力するプログラムを作れ
文字列はASCII文字の並びでソートされている前提とする
入力フォーマット
文字列
範囲
入力
abcdefghijklmn
c-g
出力
ab[cdefg]hijklmn
文字列はASCII文字の並びでソートされている前提とする
入力フォーマット
文字列
範囲
入力
abcdefghijklmn
c-g
出力
ab[cdefg]hijklmn
206デフォルトの名無しさん
2021/09/27(月) 03:27:36.76ID:HGR3sN0a お題: ハッシュタグをGoogle検索リンクに変換せよ。
ハッシュタグを含む日本語UTF-8文字列が与えられる。ハッシュタグをHTMLハイパーリンクに変換してHTMLテキストを出力する。
ハッシュタグは「#」か「#」か「♯」で始まるものとします。
ハッシュタグには半角の「_」以外の記号と空白は使えません。
HTMLの特殊文字「&<>」はそれぞれ「&」「<」「>」に変換するものとします。
検索リンクは日本語グーグルを使用します。
入力例「これは #テスト文字列です。 #家族募集中 <本日は雨天なり>」
ハッシュタグを含む日本語UTF-8文字列が与えられる。ハッシュタグをHTMLハイパーリンクに変換してHTMLテキストを出力する。
ハッシュタグは「#」か「#」か「♯」で始まるものとします。
ハッシュタグには半角の「_」以外の記号と空白は使えません。
HTMLの特殊文字「&<>」はそれぞれ「&」「<」「>」に変換するものとします。
検索リンクは日本語グーグルを使用します。
入力例「これは #テスト文字列です。 #家族募集中 <本日は雨天なり>」
207デフォルトの名無しさん
2021/09/27(月) 03:36:26.68ID:lACGcuZa >>206
出力例もよろしく
出力例もよろしく
208デフォルトの名無しさん
2021/09/27(月) 03:39:59.74ID:HGR3sN0a >>206
訂正。「&」→「&」
訂正。「&」→「&」
209デフォルトの名無しさん
2021/09/27(月) 04:15:57.90ID:HGR3sN0a >>206
出力例「これは <a href="https://google.co.jp/search?hl=ja&source=hp&q=テスト文字列です">#テスト文字列です</a>。 <a href="https://google.co.jp/search?hl=ja&source=hp&q=家族募集中">#家族募集中</a> <本日は雨天なり>」
出力例「これは <a href="https://google.co.jp/search?hl=ja&source=hp&q=テスト文字列です">#テスト文字列です</a>。 <a href="https://google.co.jp/search?hl=ja&source=hp&q=家族募集中">#家族募集中</a> <本日は雨天なり>」
210デフォルトの名無しさん
2021/09/27(月) 10:56:06.17ID:BIqiQYZe 家族募集中
が無視されてるのは何故?
が無視されてるのは何故?
211デフォルトの名無しさん
2021/09/27(月) 11:20:24.19ID:FdLhLOZv >>206
$ echo -e 'これは #テスト文字列です。 #家族募集 中 <本日は雨天なり>' |
sed -e 's/&/\&/g' -e 's/</\</g' -e 's/>/\>/g' -e 's![##♯]\(\w*\)!<a href="https://google.co.jp/search?hl=ja\&source=hp\&q=\1">&</a>!g'
これは <a href="https://google.co.jp/search?hl=ja&source=hp&q=テスト文字列です">#テスト文字列です</a>。 <a href="https://google.co.jp/search?hl=ja&source=hp&q=家族募集中">#家族募集中</a> <本日は雨天なり>
$ echo -e 'これは #テスト文字列です。 #家族募集 中 <本日は雨天なり>' |
sed -e 's/&/\&/g' -e 's/</\</g' -e 's/>/\>/g' -e 's![##♯]\(\w*\)!<a href="https://google.co.jp/search?hl=ja\&source=hp\&q=\1">&</a>!g'
これは <a href="https://google.co.jp/search?hl=ja&source=hp&q=テスト文字列です">#テスト文字列です</a>。 <a href="https://google.co.jp/search?hl=ja&source=hp&q=家族募集中">#家族募集中</a> <本日は雨天なり>
212デフォルトの名無しさん
2021/09/27(月) 16:42:34.63ID:lACGcuZa213デフォルトの名無しさん
2021/09/27(月) 17:07:09.23ID:lACGcuZa214デフォルトの名無しさん
2021/09/27(月) 21:40:29.82ID:lACGcuZa >>205
Kotlin
https://paiza.io/projects/HOEEJeT5syiOJDkmB6VLlQ
正規表現使って置換しているだけ。他の言語でも正規表現使ったら大差ない感じになるかも。
Kotlin
https://paiza.io/projects/HOEEJeT5syiOJDkmB6VLlQ
正規表現使って置換しているだけ。他の言語でも正規表現使ったら大差ない感じになるかも。
215デフォルトの名無しさん
2021/09/27(月) 22:04:19.72ID:IGWq0JTX >>205 octave
https://ideone.com/p4vSPE
f = @(s, r) regexprep(s, ['([' r ']+)'], '[$1]');
f('abcdefghijklmn', 'c-g')
https://ideone.com/p4vSPE
f = @(s, r) regexprep(s, ['([' r ']+)'], '[$1]');
f('abcdefghijklmn', 'c-g')
216デフォルトの名無しさん
2021/09/27(月) 23:53:33.07ID:CFsFGFcT217デフォルトの名無しさん
2021/09/28(火) 00:35:44.78ID:R7FPj2K+ >>213
やはりそれきましたかw
やはりそれきましたかw
218デフォルトの名無しさん
2021/09/28(火) 02:40:03.94ID:wFK5NO29219デフォルトの名無しさん
2021/09/28(火) 07:20:01.83ID:OyddjX6J220デフォルトの名無しさん
2021/09/28(火) 07:27:57.86ID:OyddjX6J221デフォルトの名無しさん
2021/09/28(火) 10:29:00.43ID:wFK5NO29 あ、そーか。2乗のまま比較すればsqrt不要だったな。
222デフォルトの名無しさん
2021/09/28(火) 19:11:27.77ID:RwSKB5Xt223デフォルトの名無しさん
2021/09/28(火) 23:13:01.41ID:R7FPj2K+ >>209
の出力例をみると“テスト文字列です”は文字列、“。”な区切り記号と認識してここで切らないとダメみたいだけど、だとするとunicodeの文字列の中にある“区切り記号”と“文字列を構成する文字”を区別しないといけなくなる
GOには“unicode”というライブラリが用意されてて簡単にできるみたいだけどオレが愛用するHaskellではその手のライブラリが見つからんorz
流石にスクラッチで一から書くのは無理だし
どっかに“コード××〜××までは記号”とか一覧になってるテーブルとかないんかな
の出力例をみると“テスト文字列です”は文字列、“。”な区切り記号と認識してここで切らないとダメみたいだけど、だとするとunicodeの文字列の中にある“区切り記号”と“文字列を構成する文字”を区別しないといけなくなる
GOには“unicode”というライブラリが用意されてて簡単にできるみたいだけどオレが愛用するHaskellではその手のライブラリが見つからんorz
流石にスクラッチで一から書くのは無理だし
どっかに“コード××〜××までは記号”とか一覧になってるテーブルとかないんかな
224デフォルトの名無しさん
2021/09/29(水) 00:03:13.95ID:BLI1g7MR POSIX character classes
225デフォルトの名無しさん
2021/09/29(水) 00:18:36.77ID:1i2b1Egj お題: 次を真似して作れ。
「突然の死ジェネレーター」
https://totuzennosi.sacnoha.com/
ただし、等幅フォントでの表示を想定し、半角・全角の文字幅の違いを尊重すること。
「突然の死ジェネレーター」
https://totuzennosi.sacnoha.com/
ただし、等幅フォントでの表示を想定し、半角・全角の文字幅の違いを尊重すること。
226デフォルトの名無しさん
2021/09/29(水) 04:42:10.56ID:WX6C7qGJ >>225
★や※を全角にするか半角にするかに依存。要はフォントに依存するから無理
★や※を全角にするか半角にするかに依存。要はフォントに依存するから無理
227デフォルトの名無しさん
2021/09/29(水) 11:07:43.39ID:0XODgfdX Unicodeで半角全角を扱う Ambiguous(曖昧さ)とUncertainty(不確実性)の恐怖
https://qiita.com/Nuits/items/71a69cf32d547c9875bb
ま、しかし、なんとなくいい加減で入力によってはおかしくなるやつならば作れるので、後で時間があったら作ろう。
https://qiita.com/Nuits/items/71a69cf32d547c9875bb
ま、しかし、なんとなくいい加減で入力によってはおかしくなるやつならば作れるので、後で時間があったら作ろう。
228デフォルトの名無しさん
2021/09/29(水) 12:01:49.91ID:hPAWkWy2 >>227
> Unicodeで半角全角を扱う場合、まずフォントがEast Asian Widthの規定を正しく守っている必要があります。でも実際にはそうとは限りません。
>
> またそれを取り扱うプラットフォームも適切に実装されている必要がありますが、必ずしもそうとは限りません。
仕様を満たしてないものは仕様通りの挙動にならないかどで仕様を叩いているということで合ってる?
> Unicodeで半角全角を扱う場合、まずフォントがEast Asian Widthの規定を正しく守っている必要があります。でも実際にはそうとは限りません。
>
> またそれを取り扱うプラットフォームも適切に実装されている必要がありますが、必ずしもそうとは限りません。
仕様を満たしてないものは仕様通りの挙動にならないかどで仕様を叩いているということで合ってる?
229デフォルトの名無しさん
2021/09/29(水) 12:03:25.69ID:SXvzkJ7t Boys, be Ambiguous.
230デフォルトの名無しさん
2021/09/29(水) 12:32:11.32ID:SXvzkJ7t231デフォルトの名無しさん
2021/09/29(水) 13:28:55.86ID:p1B8H211232デフォルトの名無しさん
2021/09/29(水) 13:41:53.17ID:p1B8H211 >>230
> 2020年、2021年の東京では、東京マラソンの開催、東京国際クルーズターミナルのオープン、
> 東京2020オリンピック・パラリンピック競技大会の開催など、国際的に注目を集めるイベントが
> 多数予定されています。
外国からの入国制限、及び無観客にして解決。
> 2020年、2021年の東京では、東京マラソンの開催、東京国際クルーズターミナルのオープン、
> 東京2020オリンピック・パラリンピック競技大会の開催など、国際的に注目を集めるイベントが
> 多数予定されています。
外国からの入国制限、及び無観客にして解決。
233デフォルトの名無しさん
2021/09/29(水) 19:41:42.38ID:p1B8H211234蟻人間 ◆T6xkBnTXz7B0
2021/09/29(水) 19:46:15.13ID:1i2b1Egj お題: 重力と慣性のないデカルト座標系に長さ3, 4, 5の固くて丈夫な連結された3本の棒B1, B2, B3がある。棒の幅はゼロに近い。
B1, B2, B3は現在x軸上に並んでいて、それぞれの端点の座標はO(0, 0)~E1(3, 0)、E1(3, 0)~E2(7, 0)、E2(7, 0)~E3(12, 0)である。
B1, B2, B3はこの順で端点が連結されており、B1の一端は原点O(0, 0)に連結されている。B3の他方の端は自由である。連結点では-180〜180度曲げることができる。
このような条件でB1, B2, B3を連結点O, E1, E2を中心に回転するとE1, E2, E3は移動するであろう。
さて、点P(x, y)が与えられたとき、どのように回転すればE3がPに重なるであろうか。その回答の一つを求めよ。許容誤差をε=0.01とする。
入力例「P=(0, 12)」「P=(5, 5)」「P=(15, 3)」
出力例「90度、0度、0度」「ありません」
B1, B2, B3は現在x軸上に並んでいて、それぞれの端点の座標はO(0, 0)~E1(3, 0)、E1(3, 0)~E2(7, 0)、E2(7, 0)~E3(12, 0)である。
B1, B2, B3はこの順で端点が連結されており、B1の一端は原点O(0, 0)に連結されている。B3の他方の端は自由である。連結点では-180〜180度曲げることができる。
このような条件でB1, B2, B3を連結点O, E1, E2を中心に回転するとE1, E2, E3は移動するであろう。
さて、点P(x, y)が与えられたとき、どのように回転すればE3がPに重なるであろうか。その回答の一つを求めよ。許容誤差をε=0.01とする。
入力例「P=(0, 12)」「P=(5, 5)」「P=(15, 3)」
出力例「90度、0度、0度」「ありません」
235デフォルトの名無しさん
2021/09/29(水) 20:45:55.00ID:ktvYkylG237デフォルトの名無しさん
2021/09/29(水) 21:47:32.31ID:yKvURuJk 悪"そう"では無いな。説明において要点を整理出来ない者はすべからく頭悪い
問題文はその者の理解度に等しい
問題文はその者の理解度に等しい
238デフォルトの名無しさん
2021/09/30(木) 00:49:10.52ID:Ai6xyiAS239デフォルトの名無しさん
2021/09/30(木) 01:23:41.62ID:Ai6xyiAS240デフォルトの名無しさん
2021/09/30(木) 03:52:16.30ID:Ai6xyiAS ちなみに代わりに出題するなら
入力(a,b)に対して方程式
a = 3cos(x) + 4cos(x+y) + 5cos(x+y+z)
a = 3sin(x) + 4sin(x+y) + 5sin(x+y+z)
の解x,y,zをひとつ求め(度数法で与えるとする)
「x度、y度、z度」
の形で出力せよ、解がない場合には
「ありません」
と出力せよ
ただし角度の範囲は-180°〜180°の範囲で与えるとする
かな
入力(a,b)に対して方程式
a = 3cos(x) + 4cos(x+y) + 5cos(x+y+z)
a = 3sin(x) + 4sin(x+y) + 5sin(x+y+z)
の解x,y,zをひとつ求め(度数法で与えるとする)
「x度、y度、z度」
の形で出力せよ、解がない場合には
「ありません」
と出力せよ
ただし角度の範囲は-180°〜180°の範囲で与えるとする
かな
241デフォルトの名無しさん
2021/09/30(木) 20:22:48.51ID:59EqeRS1243デフォルトの名無しさん
2021/09/30(木) 20:35:20.03ID:BaUXpZJu >>242
素直に「僕には難しすぎてわからないから詳しく教えてください」って言えないの?
素直に「僕には難しすぎてわからないから詳しく教えてください」って言えないの?
245デフォルトの名無しさん
2021/09/30(木) 20:46:54.85ID:BaUXpZJu >>244
お前とQZ以外は理解してるよ
お前とQZ以外は理解してるよ
246蟻人間 ◆T6xkBnTXz7B0
2021/09/30(木) 21:01:09.92ID:8ZMYiRqf 2つの副業と、ベルトコンベアのラインでねじ回しの仕事で疲れてるから許してくれよ。
247蟻人間 ◆T6xkBnTXz7B0
2021/09/30(木) 21:13:56.42ID:8ZMYiRqf この技術を応用すればロボットアームを自由自在に動かせそうだね。
248蟻人間 ◆T6xkBnTXz7B0
2021/09/30(木) 21:47:22.16ID:8ZMYiRqf イーロン・マ●クさん、見てる? イェイ!
249デフォルトの名無しさん
2021/09/30(木) 23:18:58.96ID:vWP+uHYR >>247
誤差が積もり積もるから無理
誤差が積もり積もるから無理
250デフォルトの名無しさん
2021/10/01(金) 00:08:37.55ID:VIfkqI1d 群論で簡単に解けそう
251デフォルトの名無しさん
2021/10/04(月) 21:51:58.57ID:8pCgPPfH お題: CSV形式のテキストデータを検索する grep のようなコマンド(または関数)
CSVの形式は RFC 4180 の通りで文字のエンコーディングは UTF-8、改行は CR/LF。
この辺のページを参考にすると良い。
https://datatracker.ietf.org/doc/html/rfc4180
http://www.kasai.fm/wiki/rfc4180jp
https://blog.tech-monex.com/entry/2021/03/26/160000#2-Definition-of-the-CSV-FormatCSV%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%AE%E5%AE%9A%E7%BE%A9
普通の grep コマンドを CSV ファイルに対して行うと1つのデータで改行が入っていた時に何行目の何列目のデータなのかが分からなくなって不便である。
その他、ダブルクォーテーションで括られているか否か、データとしてカンマやダブルクォーテーションを含むか否かで検索する側が正規表現を考慮して作らねばならず面倒臭い。
ということでこういった面倒くささを解消するコマンドを作るのがこのお題。
コマンドという形式ではなく正規表現と検索されるCSVテキスト(あるいはCSVファイル名や読み込みオープンしたファイルデスクリプタ)と検索する時のオプション(大文字小文字を無視など)を渡すと検索結果を返す関数を作成しても良い。
尚、1行目の項目名が入っている事がある行についてはその存在の有無をオプションで渡して指定する方式にして良い。
検索結果はパターンにマッチしたデータについて何行目、何列目だったかが分かるようにしてデータと共に出力する(関数の場合は呼び出し元に返す)。
出力する時にデータを見易くするために改行があったら \n 等にエスケープして1行にしても良い。
CSV読み込みや正規表現について既存のライブラリを使うか否かはご自由に。但し言語や環境に最初から付属していない外部のライブラリを使う場合は何を使ったかが分かるようにコメント等に入れておくこと。
CSVの形式は RFC 4180 の通りで文字のエンコーディングは UTF-8、改行は CR/LF。
この辺のページを参考にすると良い。
https://datatracker.ietf.org/doc/html/rfc4180
http://www.kasai.fm/wiki/rfc4180jp
https://blog.tech-monex.com/entry/2021/03/26/160000#2-Definition-of-the-CSV-FormatCSV%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%AE%E5%AE%9A%E7%BE%A9
普通の grep コマンドを CSV ファイルに対して行うと1つのデータで改行が入っていた時に何行目の何列目のデータなのかが分からなくなって不便である。
その他、ダブルクォーテーションで括られているか否か、データとしてカンマやダブルクォーテーションを含むか否かで検索する側が正規表現を考慮して作らねばならず面倒臭い。
ということでこういった面倒くささを解消するコマンドを作るのがこのお題。
コマンドという形式ではなく正規表現と検索されるCSVテキスト(あるいはCSVファイル名や読み込みオープンしたファイルデスクリプタ)と検索する時のオプション(大文字小文字を無視など)を渡すと検索結果を返す関数を作成しても良い。
尚、1行目の項目名が入っている事がある行についてはその存在の有無をオプションで渡して指定する方式にして良い。
検索結果はパターンにマッチしたデータについて何行目、何列目だったかが分かるようにしてデータと共に出力する(関数の場合は呼び出し元に返す)。
出力する時にデータを見易くするために改行があったら \n 等にエスケープして1行にしても良い。
CSV読み込みや正規表現について既存のライブラリを使うか否かはご自由に。但し言語や環境に最初から付属していない外部のライブラリを使う場合は何を使ったかが分かるようにコメント等に入れておくこと。
252デフォルトの名無しさん
2021/10/04(月) 23:29:46.48ID:nQu0++L9 はい次
253デフォルトの名無しさん
2021/10/05(火) 01:25:35.09ID:jsFp2nZ3 難し過ぎたか・・・
254デフォルトの名無しさん
2021/10/05(火) 03:24:50.56ID:8XAhfzzR お題として質が低いのよ。
課題だねこれじゃw
宿題や仕事は自分でやってどうぞ
課題だねこれじゃw
宿題や仕事は自分でやってどうぞ
255デフォルトの名無しさん
2021/10/05(火) 07:56:40.58ID:DrLIL1/r てかちょっとガチでやったらそれなりの規模になるからこんな所でやるようなもんじゃない
256デフォルトの名無しさん
2021/10/05(火) 11:30:23.33ID:akfRupr1 せやな
どんなに長くても30分くらいて完成する程度がやってみようと思える限界やろな
所詮暇つぶしやし
どんなに長くても30分くらいて完成する程度がやってみようと思える限界やろな
所詮暇つぶしやし
257デフォルトの名無しさん
2021/10/05(火) 11:35:39.40ID:jsFp2nZ3 まあやるやらないは自由なので
258デフォルトの名無しさん
2021/10/05(火) 12:04:55.27ID:+8sevm6S じゃあ俺がやるよO/
259デフォルトの名無しさん
2021/10/05(火) 12:39:36.95ID:mwjMS5Mk というか正確に仕様を満たせというのは実装チャレンジであって僕の考えた最強の解決策を見せっこするためのお題にはならんだろ
260デフォルトの名無しさん
2021/10/05(火) 12:57:06.08ID:UApdMlTn >>251
https://mevius.5ch.net/test/read.cgi/tech/1624934554/88
> 88 名前:デフォルトの名無しさん (ワッチョイ 12ad-ZF+H)[] 投稿日:2021/09/28(火) 00:00:21.68 ID:qy0bUCok0
> >>81
> CSV用のgrepってあったらいいよな。
> ライブラリ使えば簡単そうだからお題スレに出しておくかな。
https://mevius.5ch.net/test/read.cgi/tech/1624934554/88
> 88 名前:デフォルトの名無しさん (ワッチョイ 12ad-ZF+H)[] 投稿日:2021/09/28(火) 00:00:21.68 ID:qy0bUCok0
> >>81
> CSV用のgrepってあったらいいよな。
> ライブラリ使えば簡単そうだからお題スレに出しておくかな。
261デフォルトの名無しさん
2021/10/05(火) 13:17:01.07ID:+8sevm6S >>260
?
?
262デフォルトの名無しさん
2021/10/05(火) 13:17:11.37ID:+8sevm6S >>259
??
??
263デフォルトの名無しさん
2021/10/05(火) 13:17:42.69ID:+8sevm6S 解かない人は黙っててもらえないかな
265デフォルトの名無しさん
2021/10/05(火) 13:20:57.94ID:+8sevm6S266デフォルトの名無しさん
2021/10/05(火) 13:54:06.13ID:8XAhfzzR >>260
そんなことだろうと思ったよ
そんなことだろうと思ったよ
267デフォルトの名無しさん
2021/10/05(火) 14:03:05.86ID:+8sevm6S268デフォルトの名無しさん
2021/10/05(火) 14:03:59.63ID:+8sevm6S お題に文句つけるのはお前ららしくないよ
淡々と馬車馬のように回答するのがお前らのアイデンティティだろ
初心思い出せよ
淡々と馬車馬のように回答するのがお前らのアイデンティティだろ
初心思い出せよ
269デフォルトの名無しさん
2021/10/05(火) 15:15:20.74ID:jsFp2nZ3 >>260
そうそう。それそれ。
そうそう。それそれ。
270デフォルトの名無しさん
2021/10/06(水) 12:59:47.28ID:xRQj077j お題 持久戦
隔たりのない6面のサイコロがN個ありi番目のサイコロのj番目の面には整数Aijが書かれている
高橋君は一個のサイコロを選んで一回振ると言う操作を繰り返す。
ただし2回目以降の操作で、前回の操作で出た目より小さいか同じ目が出てしまったら操作を止める
各回どのサイコロを振るかは前回に出た目を見てから決めることができる
高橋君は出来るだけサイコロを多く振りたいと考えている
操作の行われる期待値が最大化されるような選択が行われたときの操作回数の期待値を求めよ
と言うのが数学板に投下されたけどどう見ても数学の問題でないので全員ガン無視
https://atcoder.jp/contests/past201912-open/tasks/past201912_o
隔たりのない6面のサイコロがN個ありi番目のサイコロのj番目の面には整数Aijが書かれている
高橋君は一個のサイコロを選んで一回振ると言う操作を繰り返す。
ただし2回目以降の操作で、前回の操作で出た目より小さいか同じ目が出てしまったら操作を止める
各回どのサイコロを振るかは前回に出た目を見てから決めることができる
高橋君は出来るだけサイコロを多く振りたいと考えている
操作の行われる期待値が最大化されるような選択が行われたときの操作回数の期待値を求めよ
と言うのが数学板に投下されたけどどう見ても数学の問題でないので全員ガン無視
https://atcoder.jp/contests/past201912-open/tasks/past201912_o
271デフォルトの名無しさん
2021/10/06(水) 12:59:53.99ID:xRQj077j 以下自分の計算した例
間違ってるかも
入力
1
[ [ 1,2,3,4,5,6 ] ]
出力
117649 / 46656 ( = 2.5216263717421126 )
入力
3
[ 1,2,3,4,5,6 ]
[ 1,4,9,16,25,36 ]
[ 1,8,27,64,125,216 ]
出力
13070575 / 3779136 ( = 3.4586146145574013 )
入力
3
[ 1,1,1,1,1,1 ]
[ 2,2,2,2,2,2 ]
[ 3,3,3,3,3,3 ]
4 / 1 ( = 4.0 )
出力は別に小数表示でも良いとする
尚最後の例は元サイトの“全部異なる”の制約満たしてないけど検算用、無視して桶
間違ってるかも
入力
1
[ [ 1,2,3,4,5,6 ] ]
出力
117649 / 46656 ( = 2.5216263717421126 )
入力
3
[ 1,2,3,4,5,6 ]
[ 1,4,9,16,25,36 ]
[ 1,8,27,64,125,216 ]
出力
13070575 / 3779136 ( = 3.4586146145574013 )
入力
3
[ 1,1,1,1,1,1 ]
[ 2,2,2,2,2,2 ]
[ 3,3,3,3,3,3 ]
4 / 1 ( = 4.0 )
出力は別に小数表示でも良いとする
尚最後の例は元サイトの“全部異なる”の制約満たしてないけど検算用、無視して桶
272デフォルトの名無しさん
2021/10/07(木) 19:56:52.00ID:intYWBu8 隔たりって何
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
