1 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 00:02:57.84 ID:MQWrKSb7.net] プログラミングのお題スレです。 【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 結果がある場合はそれも 【ソースコードが長くなったら】 (オンラインでコードを実行できる) https://ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode https://runnable.com/ https://code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part19 https://mevius.5ch.net/test/read.cgi/tech/1606662245/
159 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 15:11:00.36 ID:kzWLxl1N.net] >>152 嬰へ長調は♯6個とその異名同音調の変ト長調は♭6個でどうあがいても6個必要です ♭1個でキーは5/12上がり♯1個でキーは5/12下がりますがハ長調から見て嬰へ長調=変ト長調はどちらから回っていっても6個必要です https://ja.m.wikipedia.org/wiki/%E5%AC%B0%E3%83%98%E9%95%B7%E8%AA%BF >>153 もう少し大きいです 数学板で最初に出た3より大きい例は https://rio2016.5ch.net/test/read.cgi/math/1629715580/157 面白い問題おしえて〜な 38問目 変ト長調3回、ニ長調4回、変ロ長調4回 0 5 2 3 4 1 6 1 4 3 2 5 _ 4 _ _ _ 3 _ _ _ 4 _ _ = 35 > 33 _ _ 4 _ _ _ 3 _ _ _ 4 _ = 34 > 33 _ _ _ 4 _ _ _ 3 _ _ _ 4 = 35 > 33 つまりこの場合f(0,0,4/11,0,0,0,3/11,0,0,0,4/11,0)=34/11です ホントの最大値はもう少し大きくなります
160 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 18:18:32.59 ID:7dFFnUhL.net] 円周率に近いな
161 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 22:45:15.18 ID:kzWLxl1N.net] 答え有理数です しかしプログラム板のお題なので近似値出れば良しでいいと思います
162 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 22:51:14.71 ID:7dFFnUhL.net] 3.142857... じゃなくて?
163 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 23:14:04.32 ID:kzWLxl1N.net] 3.2は超えます
164 名前:デフォルトの名無しさん mailto:sage [2021/09/13(月) 23:14:24.72 ID:7dFFnUhL.net] orz
165 名前:ハノン mailto:sage [2021/09/14(火) 17:29:19.22 .net] >>148 元の出題 >変ニ長調(♭×5)→ホ長調(♯×4)→へ長調(♭×1)という曲の平均調号数は そんな変てこな転調があり得るのか‥‥
166 名前:デフォルトの名無しさん mailto:sage [2021/09/14(火) 20:25:22.64 ID:3yXL9VGN.net] そう思ったら作曲してみよう
167 名前:デフォルトの名無しさん mailto:sage [2021/09/14(火) 23:17:19.71 ID:ugFzvtUj.net] サビで短3度転調、後半盛り上がって
168 名前:半音上げはポップス曲だとよくある [] [ここ壊れてます]
169 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 02:21:25.59 ID:3vtMVT28.net] >>148 そのお題はタイトルからして調べないと分からない単語が使われており、全体を通して何を言わんとしているのか分からない。
170 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 06:01:22.11 ID:uRkyJcx+.net] >>163 音楽知識は不要 (不要なように書き換えてる) それ以外は簡単な数学用語 (高校レベル)
171 名前:ハノン mailto:sage [2021/09/15(水) 06:22:14.22 .net] >>162 >サビで短3度転調、後半盛り上がって半音上げはポップス曲だとよくある 気がつきませんでした、なるほど >後半盛り上がって半音上げ 最後に半音上がるアレ、主和音と同じ高さで導音系の和音を強奏するのが無理があると思っており好みじゃないのです‥‥ https://www.youtube.com/watch?v=ENgNiqc0m3I&t=275s
172 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 06:28:49.75 ID:uRkyJcx+.net] お前の好みとかどうで良くね?
173 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 06:34:56.44 ID:uRkyJcx+.net] https://soundquest.jp/quest/chord/chord-mv7/classic-basic-modulation/
174 名前:ハノン mailto:sage [2021/09/15(水) 06:45:27.54 .net] >>152 白鍵に調号をつけるしかない場面があるのです、>>154 のいうとおり ♭ソを基本の音にした音階のときはそうなります‥‥ では 7 個が最大かというと、そうでもなくて、ダブルシャープ(シャープ2個分)、ダブルフラット(フラット2個分)を使って(一時的に)8個以上の楽譜に仕上げる人がいました‥‥
175 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 08:25:52.14 ID:m09hSrNp.net] >>165 私はあなたの存在が好みじゃないのです‥‥ https://www.youtube.com/watch?v=BuvaD67N46U
176 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 21:26:44.83 ID:UGHCgEvY.net] ちなみにこの問題よくよく考えるとアルゴリズムの教科書によく出る超有名問題になってます 問題の名前だけは高校の数学の教科書にも載ってるくらい有名な問題です
177 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 22:28:51.28 ID:qUQwebCi.net] 3.2222222222222ってなるのかな 3.222221で止まってるけど
178 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 22:31:14.96 ID:uRkyJcx+.net] 最大=>3個とも平均が同じ=>3個の調しか使わない最大が存在する=>12C3全検索
179 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 23:00:11.21 ID:UGHCgEvY.net] >>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つやればいけます (もちろん有理係数の線形方程式なので解は有理数) その際線形代数の計算をやってくれるライブラリがあれはそんなに大変な作業にはならないはずです というかこのタイプの問題“線形計画法”この問題解くためのライブラリ持ってるやつが多いのでその場合は数行で終わってしまいます
180 名前:デフォルトの名無しさん mailto:sage [2021/09/16(木) 00:34:05.02 ID:g1b5b/gu.net] 問題全く何も理解してない 力任せ https://ideone.com/CuWX16
181 名前:デフォルトの名無しさん mailto:sage [2021/09/19(日) 19:11:20.33 ID:zqOP2O5f.net] >>174 理詰めの解答よりこういう力技の解答の方がありがたいです 理詰めはどっかでうっかり間違ってる事も多いので >>172 さんの方針で220通り全数検索するコード組んでみました https://ideone.com/Vyqp8r 元々用意してた解答は単体法( Simplex algorythm)というやつ使う方法だったんですけど、220個位なら全数検査した方が安全ですね しかも全部調べるのでベスト10とか出せる さっきのコードは原曲のままが最小になる場合のベスト10とどちらかに半音ずらした方が最小になる場合のベスト10です
182 名前:蟻人間 mailto:sage [2021/09/23(木) 00:23:18.14 ID:WyFAZLWz.net] お題: 中心(x, y)で半径mの円と、中心(z, w)で半径nの円の当たり判定。
183 名前:蟻人間 mailto:sage [2021/09/23(木) 00:36:24.97 ID:WyFAZLWz.net] お題: カオス理論で知られるローレンツ・アトラクタを描画せよ。
184 名前:蟻人間 mailto:sage [2021/09/23(木) 00:45:13.27 ID:WyFAZLWz.net] お題: 厚み0.5cm長さX cmのしなやかなテープを最小のうずまき状にまるめると直径は何cmになるか。X = 20, 30, 50.
185 名前:ハノン mailto:sage [2021/09/23(木) 12:30:22.12 ID:HaJtCNmP.net] >>178 「しなやかな」の定義中、中心側の終端の扱いを精緻に定義しなおしてください
186 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 12:40:13.64 ID:fWOsjY2x.net] 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(); });
187 名前:デフォルトの名無しさん [2021/09/23(木) 16:05:27.59 ID:jg/8HMJJ.net] >>176 それって数学的な証明はよくわからないんだけど直感的に考えると、(x, y) から (z, w) の距離が m + n 以下なら当たりで良いのかな? 他のパターンで当たる場合はなさそうだけど、あったとしても今は思いつかないのでとりあえずプログラムはそれで作ろうかと思う。
188 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 16:34:26.56 ID:LOQBNAlJ.net] 円周か円板かで答えが違う
189 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 17:12:27.81 ID:QUC7Fk2H.net] 入力として整数値が与えられたらその中の立っているビットを 等確率でランダムに一つ抜き出した整数値を出力する 3が与えられたら1か2のどちらかを1/2の確率で 17179877640が与えられたら8か256か8192か17179869184のどれかを1/4で
190 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 18:08:32.21 ID:em+PQ8QU.net] >>Ruby n = 17179877640 bits = [] while n > 0 n ^= b = n & -n bits << b end puts bits.sample
191 名前:181 [2021/09/24(金) 02:52:30.55 ID:N3yB15M0.net] >>176 Kotlin https://paiza.io/projects/LbOUfPjd6NuCyj7qhFdYqQ
192 名前:デフォルトの名無しさん mailto:sage [2021/09/24(金) 18:51:00.62 ID:FX1uO51R.net] お題 繁分数 奇数個の整数がカンマで区切りで与えられる 間に'+'と'/'を順に挿入して計算する、ただし優先順位は後から優先 例) "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
193 名前:デフォルトの名無しさん mailto:sage [2021/09/24(金) 19:42:20.13 ID:SF8pwxS9.net] >>186 なぜ、偶数個あるのか? 偶数個は最後に1"を入れてやってみた (頭悪いからリヴァースして、浮動小数点でやっている) https://wandbox.org/permlink/jzQZa53lpDSPdJo1
194 名前:デフォルトの名無しさん mailto:sage [2021/09/24(金) 21:54:41.68 ID:uMkpdCmM.net] >>187 数え間違えorz
195 名前:ハノン mailto:sage [2021/09/25(土) 21:21:39.43 ID:YrZFQiAF.net] >>186 https://ideone.com/pWADzs
196 名前:ハノン mailto:sage [2021/09/25(土) 21:23:01.64 ID:YrZFQiAF.net] >>187 うーむ、私の >>189 よりシンプルですね
197 名前:96 mailto:sage [2021/09/25(土) 22:19:21.21 ID:qK5TmKac.net] >>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
198 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 00:35:27.94 ID:x+MOSZRz.net] >>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
199 名前:ハノン mailto:sage [2021/09/26(日) 02:32:13.09 ID:fnZfkDL3.net] >>186 C >>189 終端処理を間違えていたので御題にあわせて修正 https://ideone.com/4mkYde 233/151 = 1.54304635761589414855 1855077841/1311738121 = 1.41421356237309514547 1457/536 = 2.71828358208955211950 54193766400/17250408000 = 3.14159331187992751921
200 名前:デフォルトの名無しさん [2021/09/26(日) 02:51:04.12 ID:edcxzAwz.net] >>186 J f =: +`%/ ___ f 1,2,3,4,5,6,7 1.54305
201 名前:96 mailto:sage [2021/09/26(日) 11:06:39.50 ID:ROfWiNc+.net] >>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
202 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 13:52:29.02 ID:Db797RWb.net] すいません >>191 は例題おかしいので数字合わないですね 気にしないでください 最後の例では最後の項の100抜くか、最後に21を追加してください 100抜いた場合は 4317632 / 1374345 = 3.14159254044654 21追加した場合は 54743776 / 17425485 = 3.1415926730303347 になると思います >>191 の例は 0+4/(1+(1/(3+...(17+81/(19+100/0)))))...))) になってしまってるんだと思います(違うかも)
203 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 15:05:57.74 ID:RIy3qD4V.net] >>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
204 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 15:06:59.82 ID:RIy3qD4V.net] 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
205 名前:ハノン mailto:sage [2021/09/26(日) 19:57:37.78 ID:KhgDxRBF.net] >>197 >[] -> 0, 1 >| x :: [] -> x, 1 >| x :: xs -> let n, d = h xs in x * d + n, d >>193 を書いた私としてはなんとなくわかってしまうのが‥‥悲しいですね
206 名前:ハノン mailto:sage [2021/09/26(日) 19:58:46.43 ID:KhgDxRBF.net] つまり >>193 は言語として冗長だ、という点が悲しい、という意味です、誤解を招かないように補充します
207 名前:デフォルトの名無しさん [2021/09/26(日) 21:14:48.05 ID:K0n5mMQr.net] >>183 Java https://paiza.io/projects/MEzZhPu6JRPceVynvuTqAw
208 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 21:49:22.16 ID:6LE1NaJb.net] お題: 与えられたUTF-8日本語文章から空白と記号を取り除いた後の文字列にNGワードがあるかどうか判定せよ。 NGワード: 「集近閉」「地獄経済」 例文1「集☆近☆閉☆は☆不☆滅」 例文2「地/獄/経/済/は/大/丈/夫」 出力例:「NGワード「集近閉」があります。」 出力例:「OKです。」
209 名前:デフォルトの名無しさん [2021/09/26(日) 21:51:41.83 ID:K0n5mMQr.net] >>186 Java https://paiza.io/projects/UI9ARHgZiXtVhZHIJXp7Jg?language=java
210 名前:デフォルトの名無しさん mailto:sage [2021/09/26(日) 21:58:42.24 ID:Db797RWb.net] >>196 いまレス読み返したらアンカー間違ってるorz >>196 で>>191 と書いてあるのは全部>>186 宛の自己レスです 191さんすいません ちなみにやっぱり186の数値 3.141593311879928 は最後の部分を.../(17+81/(19+100/(0))))..として処理した値でした 100/0が∞になって17+81/(19+∞) = 17となって結局17で打ち切った場合の答えになってました 17で打切った場合 3763456 / 1197945 = 3.1415933118799275 で>>186 の値になってました
211 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 02:09:19.34 ID:mB71+9h3.net] お題:: 文字列に対して文字列の範囲を指定すると、その範囲を角カッコで囲って出力するプログラムを作れ 文字列はASCII文字の並びでソ
212 名前:ートされている前提とする 入力フォーマット 文字列 範囲 入力 abcdefghijklmn c-g 出力 ab[cdefg]hijklmn [] [ここ壊れてます]
213 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 03:27:36.76 ID:HGR3sN0a.net] お題: ハッシュタグをGoogle検索リンクに変換せよ。 ハッシュタグを含む日本語UTF-8文字列が与えられる。ハッシュタグをHTMLハイパーリンクに変換してHTMLテキストを出力する。 ハッシュタグは「#」か「#」か「♯」で始まるものとします。 ハッシュタグには半角の「_」以外の記号と空白は使えません。 HTMLの特殊文字「&<>」はそれぞれ「&」「<」「>」に変換するものとします。 検索リンクは日本語グーグルを使用します。 入力例「これは #テスト文字列です。 #家族募集中 <本日は雨天なり>」
214 名前:デフォルトの名無しさん [2021/09/27(月) 03:36:26.68 ID:lACGcuZa.net] >>206 出力例もよろしく
215 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 03:39:59.74 ID:HGR3sN0a.net] >>206 訂正。「&」→「&」
216 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 04:15:57.90 ID:HGR3sN0a.net] >>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> <本日は雨天なり>」
217 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 10:56:06.17 ID:BIqiQYZe.net] 家族募集中 が無視されてるのは何故?
218 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 11:20:24.19 ID:FdLhLOZv.net] >>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> <本日は雨天なり>
219 名前:デフォルトの名無しさん [2021/09/27(月) 16:42:34.63 ID:lACGcuZa.net] >>186 Kotlin https://paiza.io/projects/HLf5ipRdYfeUkeWaJJdCAg 偶数個のやつは一つ削って奇数個にした。
220 名前:デフォルトの名無しさん [2021/09/27(月) 17:07:09.23 ID:lACGcuZa.net] >>186 Perl5 https://paiza.io/projects/SXR1Q0vDlTYSPhY1BLUiBA これはまあ、ふざけたやり方というかなんというか。計算はPerlにお任せ。
221 名前:デフォルトの名無しさん [2021/09/27(月) 21:40:29.82 ID:lACGcuZa.net] >>205 Kotlin https://paiza.io/projects/HOEEJeT5syiOJDkmB6VLlQ 正規表現使って置換しているだけ。他の言語でも正規表現使ったら大差ない感じになるかも。
222 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 22:04:19.72 ID:IGWq0JTX.net] >>205 octave https://ideone.com/p4vSPE f = @(s, r) regexprep(s, ['([' r ']+)'], '[$1]'); f('abcdefghijklmn', 'c-g')
223 名前:デフォルトの名無しさん mailto:sage [2021/09/27(月) 23:53:33.07 ID:CFsFGFcT.net] >>214 性器を痴漢 まで読んだ
224 名前:デフォルトの名無しさん mailto:sage [2021/09/28(火) 00:35:44.78 ID:R7FPj2K+.net] >>213 やはりそれきましたかw
225 名前:デフォルトの名無しさん [2021/09/28(火) 02:40:03.94 ID:wFK5NO29.net] >>206 Kotlin https://paiza.io/projects/X2vegPHscigvi2ILMs00Wg 正規表現使って一発でやるのではなく1文字づつ読んでやるように作った。
226 名前:デフォルトの名無しさん [2021/09/28(火) 07:20:01.83 ID:OyddjX6J.net] >>176 Lua function f(x, y, m, z, w, n) return (x - z) ^ 2 + (y - w) <= (m + n) ^ 2 end
227 名前:デフォルトの名無しさん [2021/09/28(火) 07:27:57.86 ID:OyddjX6J.net] >>219 間違えました function f(x, y, m, z, w, n) return (x - z) ^ 2 + (y - w) ^2<= (m + n) ^ 2 end
228 名前:デフォルトの名無しさん [2021/09/28(火) 10:29:00.43 ID:wFK5NO29.net] あ、そーか。2乗のまま比較すればsqrt不要だったな。
229 名前:デフォルトの名無しさん [2021/09/28(火) 19:11:27.77 ID:RwSKB5Xt.net] >>202 Kotlin https://paiza.io/projects/qStwB_RNzaqRnbq0Klro4g 二番目のやつはOKではないな。
230 名前:デフォルトの名無しさん mailto:sage [2021/09/28(火) 23:13:01.41 ID:R7FPj2K+.net] >>209 の出力例をみると“テスト文字列です”は文字列、“。”な区切り記号と認識してここで切らないとダメみたいだけど、だとするとunicodeの文字列の中にある“区切り記号”と“文字列を構成する文字”を区別しないといけなくなる GOには“unicode”というライブラリが用意されてて簡単にできるみたいだけどオレが愛用するHaskellではその手のライブラリが見つからんorz 流石にスクラッチで一から書くのは無理だし どっかに“コード××〜××までは記号”とか一覧になってるテーブルとかないんかな
231 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 00:03:13.95 ID:BLI1g7MR.net] POSIX character classes
232 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 00:18:36.77 ID:1i2b1Egj.net] お題: 次を真似して作れ。 「突然の死ジェネレーター」 https://totuzennosi.sacnoha.com/ ただし、等幅フォントでの表示を想定し、半角・全角の文字幅の違いを尊重すること。
233 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 04:42:10.56 ID:WX6C7qGJ.net] >>225 ★や※を全角にするか半角にするかに依存。要はフォントに依存するから無理
234 名前:デフォルトの名無しさん [2021/09/29(水) 11:07:43.39 ID:0XODgfdX.net] Unicodeで半角全角を扱う Ambiguous(曖昧さ)とUncertainty(不確実性)の恐怖 https://qiita.com/Nuits/items/71a69cf32d547c9875bb ま、しかし、なんとなくいい加減で入力によってはおかしくなるやつならば作れるので、後で時間があったら作ろう。
235 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 12:01:49.91 ID:hPAWkWy2.net] >>227 > Unicodeで半角全角を扱う場合、まずフォントがEast Asian Widthの規定を正しく守っている必要があります。でも実際にはそうとは限りません。 > > またそれを取り扱うプラットフォームも適切に実装されている必要がありますが、必ずしもそうとは限りません。 仕様を満たしてないものは仕様通りの挙動にならないかどで仕様を叩いているということで合ってる?
236 名前:デフォルトの名無しさん [2021/09/29(水) 12:03:25.69 ID:SXvzkJ7t.net] Boys, be Ambiguous.
237 名前:デフォルトの名無しさん [2021/09/29(水) 12:32:11.32 ID:SXvzkJ7t.net] お代 https://tokyochallenge.odpt.org/
238 名前:デフォルトの名無しさん [2021/09/29(水) 13:28:55.86 ID:p1B8H211.net] >>225 Kotlin https://paiza.io/projects/CTRi-9vO58I5nJsn9uvKFA 流石に寿限無は長すぎたようだ。
239 名前:デフォルトの名無しさん [2021/09/29(水) 13:41:53.17 ID:p1B8H211.net] >>230 > 2020年、2021年の東京では、東京マラソンの開催、東京国際クルーズターミナルのオープン、 > 東京2020オリンピック・パラリンピック競技大会の開催など、国際的に注目を集めるイベントが > 多数予定されています。 外国からの入国制限、及び無観客にして解決。
240 名前:デフォルトの名無しさん [2021/09/29(水) 19:41:42.38 ID:p1B8H211.net] >>225 Kotlin https://paiza.io/projects/1lHjOtpR8LrRV2Ggwafmyg 吹き出し部分を半角文字に変えてみたんだけどね。あまり意味ないか。
241 名前:蟻人間 mailto:sage [2021/09/29(水) 19:46:15.13 ID:1i2b1Egj.net] お題: 重力と慣性のないデカルト座標系に長さ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はこの順で
242 名前:端点が連結されており、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度」「ありません」 [] [ここ壊れてます]
243 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 20:45:55.00 ID:ktvYkylG.net] >>234 頭が悪そう 出題が冗長
244 名前:蟻人間 mailto:sage [2021/09/29(水) 21:27:25.97 ID:1i2b1Egj.net] >>235 代わりに出題してみて
245 名前:デフォルトの名無しさん mailto:sage [2021/09/29(水) 21:47:32.31 ID:yKvURuJk.net] 悪"そう"では無いな。説明において要点を整理出来ない者はすべからく頭悪い 問題文はその者の理解度に等しい
246 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 00:49:10.52 ID:Ai6xyiAS.net] >>234 haskell https://ideone.com/kZdKJf
247 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 01:23:41.62 ID:Ai6xyiAS.net] >>238 ラジアンと度の変換間違いorz haskell https://ideone.com/msB5Ks
248 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 03:52:16.30 ID:Ai6xyiAS.net] ちなみに代わりに出題するなら 入力(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°の範囲で与えるとする かな
249 名前:デフォルトの名無しさん [2021/09/30(木) 20:22:48.51 ID:59EqeRS1.net] >>202 JavaScript https://ideone.com/VslT6D
250 名前:蟻人間 mailto:sage [2021/09/30(木) 20:33:52.35 ID:8ZMYiRqf.net] >>239 ここに居るほとんどの人が分かってないから、解説をお願いします。
251 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 20:35:20.03 ID:BaUXpZJu.net] >>242 素直に「僕には難しすぎてわからないから詳しく教えてください」って言えないの?
252 名前:蟻人間 mailto:sage [2021/09/30(木) 20:45:22.12 ID:8ZMYiRqf.net] >>243 ここは解いた人が解説しないと
253 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 20:46:54.85 ID:BaUXpZJu.net] >>244 お前とQZ以外は理解してるよ
254 名前:蟻人間 mailto:sage [2021/09/30(木) 21:01:09.92 ID:8ZMYiRqf.net] 2つの副業と、ベルトコンベアのラインでねじ回しの仕事で疲れてるから許してくれよ。
255 名前:蟻人間 mailto:sage [2021/09/30(木) 21:13:56.42 ID:8ZMYiRqf.net] この技術を応用すればロボットアームを自由自在に動かせそうだね。
256 名前:蟻人間 mailto:sage [2021/09/30(木) 21:47:22.16 ID:8ZMYiRqf.net] イーロン・マ●クさん、見てる? イェイ!
257 名前:デフォルトの名無しさん mailto:sage [2021/09/30(木) 23:18:58.96 ID:vWP+uHYR.net] >>247 誤差が積もり積もるから無理
258 名前:デフォルトの名無しさん mailto:sage [2021/10/01(金) 00:08:37.55 ID:VIfkqI1d.net] 群論で簡単に解けそう
259 名前:デフォルトの名無しさん mailto:sage [2021/10/04(月) 21:51:58.57 ID:8pCgPPfH.net] お題: CSV形式のテキストデータを検索する grep のようなコマンド(または関数) CSVの形式は RFC 4180 の通りで文字のエンコーディングは UTF-8、改行は CR/LF。 この辺のページを参考にすると良い。 https://datatracker.ietf.org/doc/html/rfc4180 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