1 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 09:00:22.10 ID:xqEdXdr6.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/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part15 mevius.5ch.net/test/read.cgi/tech/1564310397/
132 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 23:25:08.31 ID:8H7awdOo.net] 小一時間問い詰めるとか 具体的に想像すると陰湿極まりないパワハラが思い浮かぶ
133 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 23:35:21.46 ID:LiE2fHBS.net] 5ch初心者かよw
134 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 23:39:56 ID:8H7awdOo.net] 5chのプロかよ
135 名前:デフォルトの名無しさん [2019/12/05(Thu) 23:56:23 ID:uvnytkqs.net] こんな煽り合い久々に見たw
136 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 00:22:47 ID:N/M0C4CM.net] 初心者じゃない奴が全員プロだとでも思ってるのかなぁw まあとりあえずこれ読んどけ https://netyougo.com/2ch/2535.html
137 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 01:10:21 ID:Rsc9FZ2h.net] 用語とか以前に粘着っぷりがやばい
138 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 02:06:00 ID:RapGeMK4.net] 背筋がサムくなるからもうやめてくれないかな
139 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 03:33:54.64 ID:BprTHIND.net] ものすごい速度で羊を数えてください 1 sheep two sheep three sheep four sheep ...........
140 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 05:57:24.96 ID:Ket1H4Yu.net] >>137 とりあえずお題なの? 曖昧すぎてわからん
141 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 06:42:40.11 ID:yuBnjbMi.net] >>136 >>135
142 名前:デフォルトの名無しさん [2019/12/06(金) 14:03:18 ID:zI729h7a.net] >>101 julia f(a,b)=(a+b)*(b-a+1)÷2 f(1,100) #-> 5050 f(50,80) #-> 2015
143 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 22:43:04.72 ID:7FicwbM7.net] >>101 Perl5 use feature current_sub; print sub {$_[0] and $_[0] + __SUB__->($_[0] - 1)}->(100);
144 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 22:53:13.95 ID:7FicwbM7.net] >>101 Perl5 sub Y_combinator { my $f = shift; sub { my $x = shift; $x->($x) }->( sub { my $y = shift; $f->(sub {$y->($y)(@_)}) } ) } my $series = sub {my $f = shift; sub { my $n = shift; $n and $n + $f->($n - 1) } }; print Y_combinator($series)->(100);
145 名前:蟻人間 mailto:sage [2019/12/06(金) 23:19:56.34 ID:jz2bvt/z.net] お題: 丸カッコと空白の並びで構成される入力文字列がある。丸カッコは入れ子になっていてそれぞれペアになっている。入力文字列は奇数文字数である。 プレーヤー1は、最初に入力文字列の一番左端に居る。プレーヤー2は最初に入力文字列の一番右端に居る。各プレーヤーは一回のアクションで次のいずれかの動作が可能。 (あ) カッコを飛び越えずにひとつ左か右に移動する。ただし、入力文字列の外側には移動できない。 (い) プレーヤーXがカッコAの外側に居て、AとXが隣接しているとき、XがカッコAに対応する別のカッコBの外側の端に移動する。 (う) カッコをひとつまたいでひとつ左か右に移動する。 入力文字列に対してプレーヤー1と2を何度もターン制でアクションをさせてプレーヤーの位置が衝突するまで鬼ごっこをさせよ。 動かすのはランダムでも知能つきでも構わない。アクションごとに位置を表示せよ。
146 名前:蟻人間 mailto:sage [2019/12/06(金) 23:33:56.47 ID:jz2bvt/z.net] 知能戦略の例) 鬼はなるべく近くなる方を選ぶ。 子どもは鬼からなるべく遠ざかるように動く。
147 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 00:07:48.78 ID:n8phrA6e.net] 動き方がわかりません 1文字右が ( の場合 (あ)1文字右に動く (い)右の ( に対応する ) の右の文字に動く (う)2文字右に動く のいずれかが出来る ただし、(い) (う) の移動先が文字列の外になる場合は移動出来ない でいい?
148 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 00:25:15.68 ID:FrJsgiML.net] あ と う は合わせられないか?
149 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 00:25:52.72 ID:7zlttp1T.net] >>101 Perl5 no warnings 'experimental::signatures'; use feature qw(say signatures); sub f($n) {$n and $n + f($n - 1)}; say f(100); sub Y($f) { sub {$f->(Y($f))->(@_)} } say Y(sub($f) { sub($n) { $n and $n + $f->($n - 1) } })->(100);
150 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 00:44:47.39 ID:7zlttp1T.net] >>101 Perl5 no warnings 'experimental::signatures'; use feature qw(say signatures); sub Y($f) { sub {$f->(Y($f))->(@_)} } # Y combinator w/ recursive $s = sub ($n) {$n and $n + $s->($n - 1)}; # calc series recursive say Y(sub ($f) { $s })->(100);
151 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 01:33:07.92 ID:7zlttp1T.net] >>101 Perl5 use List::Util 'sum'; print sum 1..100;
152 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 03:39:00.62 ID:GrS1V5od.net] お題 1以上、20以下の整数がランダムに10個与えられます。 与えられた整数の集合から1つ以上の整数を抜き出し、残った整数の集合からまた1つ以上の整数を抜き出します。 この時2つの抜き出した整数の集合のそれぞれの和が同値であり、かつ最小のものを出力して下さい。 例 与えられた整数の集合 : 2 3 4 5 6 7 8 9 10 11 期待される出力 : 5 この場合、与えられた整数の集合から 「2,3」「5」の整数を抜き出しています。
153 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 03:47:40.06 ID:GrS1V5od.net] 元ネタ itest.5ch.net/test/read.cgi/news4vip/1574130342/18
154 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 04:00:27.84 ID:G4M88S/c.net] ・「同値」の意味が謎 ・解がない時の処理が謎(e.g. input: 9 10 11 12 13 14 15 16 17 18 ・同値の使い方が間違っているのでそもそも「集合」の元が重複しないものとしてよいものか悩ましい
155 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 04:23:11 ID:GrS1V5od.net] >>152 同値は単に同じ(等しい)値という意味で使っています。 解が存在しない場合は「ないよー」と出力して下さい。 与えられる整数は重複する可能性があります。
156 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 05:16:02 ID:HQTo5ewj.net] ならば結局こういうことでよいのかね. もとのスレを見ても出題者本人の主張が不明瞭なうえに二転三転していて気持ち悪いが. 与えられた数列を {a_n} に対して, {a_n} の異なる項からなる任意の部分列の内それぞれの和が等しくなるものを {b_n}, {c_n} として Σb_n (= Σc_n) が最小となる {b_n}, {c_n} を求めよ. そして今回は b, c の項数をそれぞれ 2, 1 に限るものとすると.
157 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 05:38:25.75 ID:GrS1V5od.net] もう少し例を載せるべきでした。 すいません。 例えば >>152 さんの解が存在しないとしているものですが、 9 10 11 12 13 14 15 16 17 18 を与えられた場合の出力は 21となります。(10,11と9,12) 入力が 1 1 1 1 1 1 1 1 1 1 の場合の出力は 1となります。(1と1)
158 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 06:50:35.03 ID:HQTo5ewj.net] >>155 なるほど、概ね理解した
159 名前:デフォルトの名無しさん [2019/12/07(土) 09:57:16.56 ID:WrheNqRo.net] >>150 取り敢えずRで力任せ。これでも瞬時に終わるので工夫の必要なし。 https://ideone.com/pCp36v
160 名前:デフォルトの名無しさん [2019/12/07(土) 15:33:28.08 ID:WrheNqRo.net] 実は>>157 は「残った整数の集合から」の条件を忘れていて、元の集合から抜き出すと 勘違いして書いてしまったプログラム。 が、改めて条件を考えてみると、既に抜き出された数と同じものを選んでしまうのは、 「片方の部分集合の要素が2個以上で、もう片方の部分集合の要素が3個以上の場合」(A) に限られる。例えば、2+9=11と2+3+6=11。この場合、2回選んでしまった2を取り除いた 部分集合は、和9=9と3+6=9が11より小さく、かつ(A)の場合に該当しないので2回選んで しまった数は存在しない。 だから結局、>>157 のプログラムのままで正解が得られることになる。
161 名前:デフォルトの名無しさん [2019/12/07(土) 16:28:15.65 ID:tj55yZgB.net] へなへななお題へなへなな回答
162 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 20:45:08.83 ID:HU7sPj+p.net] >>150 この問題から関連して考えてたんだけど 5を 1 1 1 1 1 1 1 1 2 1 1 3 1 2 2 1 4 2 3 5 このように分割する方法は7通り、10だと42通りあった 数が与えられたとき何通りの分け方があるかどうやって計算するのか考えてたけど そんな簡単な問題ではないようだった とりあえず数が与えられたら上の例のように全ての分け方を列挙する というのを問題としてみる
163 名前:デフォルトの名無しさん [2019/12/07(土) 22:36:30.68 ID:WrheNqRo.net] >>160 Rでお決まりの再帰呼び出し。 https://ideone.com/LkPChG
164 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 23:22:48 ID:eT8T+vHJ.net] 分割数でググれば考え方いっぱい出てくるよ
165 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 13:36:47.70 ID:jvur7pXC.net] >>160 C++ https://ideone.com/QVywdv
166 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 13:57:09.43 ID:FOSx0Jk/.net] >>154 最後の文はどこから出てきたの?
167 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 13:58:38.12 ID:xElyalHo.net] >>164 元のスレ
168 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 14:21:04.90 ID:FOSx0Jk/.net] しらんがな
169 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 14:22:15.55 ID:FOSx0Jk/.net] その制限が無い方がアルゴリズムとしておもしろい 制限があるとつまらなすぎる
170 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 17:19:46.37 ID:xElyalHo.net] 知らんがなって なら聞くなアホ
171 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 17:53:26.22 ID:FOSx0Jk/.net] すまん 不満は>>150 に言ったつもり そんな重要な事を省略すんなって
172 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 19:17:22.87 ID:DgjgjjxW.net] 別に項数の制限はつけていませんよ 「項数の制限が無い」という事を省略したのに怒っているのならすいません。 ですが制限があるのなら普通に問題文に加えますし、別に書くほどの事では無いかな〜と
173 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 19:37:55.14 ID:KCeBLlvA.net] >>150 https://ideone.com/OJyvxF C++。総当たりです。スカイレークのi7で12秒くらいかかります。 久しぶりにまじめに総当たりを書いた気がしました。
174 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 19:44:34.35 ID:KCeBLlvA.net] >>150 https://ideone.com/p6FUh4 オマケで、答えが見える版を置いておきます。C++。
175 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 20:22:49.16 ID:KCeBLlvA.net] ちなみにオーダーは大体O(N!)位です。(笑
176 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 20:35:11.71 ID:KCeBLlvA.net] ギャグですけど、並列化は比較的簡単なのでそれで時間短縮はできます。 底の値をシェアードにすると早く終わります。Nになってると思うんだけど。
177 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 20:48:51.01 ID:KCeBLlvA.net] 一回を関数に切り出して実行した場合、 一回のイテレーションが大体100回のループに収まるはずなのでザクザクおわります。 多分。
178 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 20:49:16.37 ID:KCeBLlvA.net] 一回を関数に切り出して実行した場合、 一回のイテレーションが大体100回のループに収まるはずなのでザクザクおわります。 多分。
179 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 20:59:32.19 ID:KCeBLlvA.net] ぐあ、重複した・・・。
180 名前:デフォルトの名無しさん [2019/12/08(日) 21:17:04.79 ID:FKbRmDMb.net] >>150 これは問題の設定がつまらないな。1〜20の中から10個を選んで元の集合を作るから、 結果に1個か2個の和しかほとんど現れず、集合の最初の方をパッと見ただけで 暗算でも分かってしまう。1〜5000の中から10個を選ぶ設定にすると、 結果がなしだったり、3個の和と
181 名前:4個の和だったり、2個の和と6個の和だったり、 変化に富んで面白くなる。https://ideone.com/kmihyT 例えば、リンク先にある 入力: [63, 70, 269, 949, 1337, 2670, 3538, 3764, 4183, 4320] 出力: Σ[3764, 4183] = Σ[63, 70, 269, 1337, 2670, 3538] = 7947 なんてパッと見では思いつかないから、コンピュータに探させる意義がある。 [] [ここ壊れてます]
182 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 21:27:36.39 ID:KCeBLlvA.net] >>178 異様に早いなーと思ったら、言語にコンビネーションあるんかいな。 裏山シー。
183 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 22:01:27.05 ID:h14g0YSH.net] サンプルだから人間が簡単に検証できるようにしてるんでしょ 普通それぐらいはわかりそうなもんだけど、>>165 みたいに項数だと思う奴とか>>178 みたいにイチャモンつける奴とか世の中広いわw
184 名前:デフォルトの名無しさん [2019/12/08(日) 22:35:33.47 ID:FKbRmDMb.net] >>180 そんなことは分かっているよ。だから、お題通りの1〜20の場合も>>157 でちゃんと回答した。 その上で、もっと面白い場合の追加を提案してみただけ。
185 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 00:06:03 ID:QbXWD96q.net] >>150 N!より速い方法ある?
186 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 00:53:44 ID:rq2SBWAq.net] >>182 動的計画法?
187 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 01:15:42 ID:2eMu76Ef.net] https://ideone.com/52jcdq 全ての和を計算して並べ替えるだけ 多分最も愚直な方法
188 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 01:57:50 ID:2eMu76Ef.net] bit演算で面倒なことやってたけどpairっての使えば良かったのか
189 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 02:04:04.39 ID:vzskLW//.net] >>150 https://ideone.com/tKvgv3 By PyPy、 ノーマルpythonでは力業の(N=20)が8秒くらいかな、 力業が 2^N * N 最小値だけなら、N*数列の合計 = N^2 * 数の平均(/2) ででる(みたい?) (自信ががないDP解)
190 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 02:51:44 ID:ElWitvQQ.net] >>180 日本語が読め無い馬鹿発見
191 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 04:54:54.63 ID:wE9bCkNR.net] >>181 わかってたら > これは問題の設定がつまらないな。 なんていう物言いにはならんだろ >>187 夜中まで必死だな… 何に必死なのかよくわからんけどw
192 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 05:00:22.33 ID:ElWitvQQ.net] 必死なのはお前だろ お前一人だけ日本語すらまともに読めてない馬鹿だって気づけよ
193 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 06:12:33.29 ID:wE9bCkNR.net] うわっ、アホが無駄に絡んできたよw
194 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 06:42:21 ID:QCNDYaVq.net] 明け方からどんだけ必死なんだよ 以降、劣等感の塊のID:wE9bCkNRくんが全レスしてくれるってよ!
195 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 06:46:34 ID:PLlkWb6P.net] こいつ少し上の方でレスバしてたアホやろ? さんざん馬鹿にされて悔しい思いしたから早朝にちょろっと顔出してるんやろ
196 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 07:23:51 ID:RwnUxfkW.net] 単芝ガイジ君、情けなさ過ぎて草
197 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 12:30:02.62 ID:G+LM1RHL.net] >>192 自己紹介乙ww
198 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 15:19:21 ID:gONUrOAf.net] https://ideone.com/aYEPpX C++面白いな
199 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 15:48:30 ID:gONUrOAf.net] (sum[i].second & sum[i + 1].second) == 0 この比較はいらないのかな これが重なってるならより小さい重なってない組合せが必ず存在するか
200 名前:デフォルトの名無しさん [2019/12/09(月) 21:07:53.73 ID:l5WymCFL.net] お題:2つの素数(2つは同じでもよい)の積で表される数は半素数と呼ばれる。 1万以下の半素数をすべて表示せよ。
201 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 21:20:18.06 ID:QbXWD96q.net] int prime[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,91};
202 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 21:22:25.12 ID:QbXWD96q.net] 91じゃなかった
203 名前: mailto:sage [2019/12/09(月) 21:29:40.49 ID:ZryjKmS+.net] >>197 https://mevius.5ch.net/test/read.cgi/tech/1434079972/ 2625個、でしょうか?
204 名前: mailto:sage [2019/12/09(月) 21:35:00.48 ID:ZryjKmS+.net] やりなおします >>197 https://mevius.5ch.net/test/read.cgi/tech/1434079972/62 2625個
205 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 22:42:10.29 ID:QbXWD96q.net] ふるいで5000以下の素数を求めて 2重ループで列挙 が速いかな
206 名前:デフォルトの名無しさん [2019/12/09(月) 22:48:18.91 ID:l5WymCFL.net] >>201 正解。Rでエラトステネスの篩を使って求めるプログラムを一応貼っておく。 https://ideone.com/anqKGW
207 名前:デフォルトの名無しさん [2019/12/10(火) 06:55:28 ID:cIwr+d9F.net] >>197 J (smoutput~ 2=#@q:)@>>:i.10000 4 6 9 10 ... 9991 9993 9995 9997 9998
208 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 07:06:32 ID:qBy9puuu.net] 問題の一区分である素数判定、並びに範囲内の素数列挙するコード https://ideone.com/fGT115 ~/bin/is_prime.exe 2 10000 とやれば1万までの素数が列挙され、 ~/bin/is_prime.exe 2017 と1つ引数与えればそれだけ判定 引数無いとURLの用にOFする限界付近まで全部 1万までの素数出して、それパイプで処理したら楽かなと思った
209 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 08:49:47 ID:92MPgAr5.net] 5000までの素数で十分だって言ってるのに
210 名前:デフォルトの名無しさん [2019/12/10(火) 09:32:39 ID:WOcT9SPT.net] >>197 お題:このお題の回答を論理式で表すとどうなるでしょうか。
211 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 09:53:12.04 ID:gKYhlG5V.net] >>207 それはプログラミングのお題なのか?
212 名前:デフォルトの名無しさん [2019/12/10(火) 13:07:12.61 ID:bINIS1ks.net] また数(ry
213 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 13:10:37.69 ID:FDwwVytW.net] 出題者はいろんな言語の表記方法を知りたいだけか? 数学やアルゴリズム的には全然おもしろくないのばかり
214 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 15:09:39 ID:zIz8I18p.net] >>197 https://ideone.com/wVVsOF C++。>>205 の素数判定パクりました。楽すぎ。 と、思ったらこれ、俺の回答間違ってる。
215 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 15:15:40 ID:zIz8I18p.net] >>197 https://ideone.com/1Vax7p C++。こうかいな。
216 名前:デフォルトの名無しさん [2019/12/10(火) 16:37:43 ID:hI+yeapE.net] >>210 お前が面白い問題出せばいいじゃん たぶん誰も解かないだろうけどwww
217 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 17:22:00.22 ID:Ajx0JUvY.net] 過去スレからお題引っ張りたいんだけど、有料会員じゃないからむりぽ
218 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 17:45:48.68 ID:qBy9puuu.net] 2chscとかいうのが無料サルベージに向いていると聞いたことがある
219 名前:デフォルトの名無しさん [2019/12/10(火) 17:47:09.91 ID:ClyY78bX.net] >>214 普通のブラウザで見ても出ないんだっけ?
220 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 18:57:11.15 ID:W3sLZ8lM.net] >>213 問題を出して人に解かせるのはあまり好きじゃない 解く方が好き
221 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 19:01:43.67 ID:W3sLZ8lM.net] 過去の良問があればおしえろください
222 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 19:30:15.36 ID:Ajx0JUvY.net] >>216 見れた( ゚Д゚)
223 名前:デフォルトの名無しさん [2019/12/10(火) 20:07:19.37 ID:ClyY78bX.net] >>219 そうか。普通のブラウザだとエロ広告が激しく付くからそれで過去スレ見せる料金なんとかしてるのかもね。 >>217 そんなあなたにとっておきのお題をひとつ。 お題: 面白いお題を作れ。
224 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 20:25:27.92 ID:6QYDHDQi.net] じゃあ四角形を全部違う大きさの円で埋める
225 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 21:05:07.05 ID:0RQ6ozIG.net] >>207 答えは高々有限個の整数でしかないんだから論理式にはならない
226 名前:デフォルトの名無しさん [2019/12/10(火) 22:54:03 ID:ZImsJVBi.net] >>210 まあ、そんな所だね。このスレは競技プログラミングじゃないから、アルゴリズムや パフォーマンスの追求よりは、各自が使う言語で楽な書き方ができるのを披露する方が多い。 >>203も可変長ベクトルへの再代入の繰り返しという非効率なことをやっているが、 自前のforループ不要で簡潔に書けるし、篩い落とす操作を忠実に表してもいる。 昔と違ってこれでも実用な速度で動くので、色々な書き方ができるようになった。 C#, Julia, PowerShellでも類似の書き方ができる(>>206の通り素数は5000までにした)。 C# https://ideone.com/YWc3f8 Julia https://ideone.com/8NdOe3 PowerShell https://ideone.com/DRoOMU R https://ideone.com/34lnNQ C#のstatic void Main()の中だけを抜き出したC#スクリプトも作って、それぞれの実行時間を PowerShellの measure-command {semiprime.exe} measure-command {csi semiprime.csx} measure-command {julia semiprime.jl} measure-command {semiprime.ps1} measure-command {rscript semiprime.R} で計測すると、C#を1倍として、R 3.40倍、C#スクリプト 10.1倍、Julia 16.6倍、 PowerShell 199倍となった。PowerShellだけは延々と待たされ実用的でない。 他の4つはすぐに終わるが、右へ行くほどややもたつく。Rは遅いと言われているが、 スクリプト言語の中ではかなり速い。
227 名前:デフォルトの名無しさん [2019/12/10(火) 22:54:55 ID:ZImsJVBi.net] >>217 じゃあ、これ解いてみる? 整数x, y, z, kに関する方程式x^3 + y^3 + z^3 = kの解を、k = 1から100までの場合について求めよ。 https://engineer.fabcross.jp/archeive/190921_charity-engine.html
228 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 23:25:26 ID:qBy9puuu.net] k = 64, z = 4の時 任意の整数 を+-反転した組が x,yの解であり、その個数は無限
229 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 23:27:52 ID:W3sLZ8lM.net] なぜ k=1, z=1 じゃない?
230 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 23:47:24 ID:qBy9puuu.net] あとから追加されそうな条件の 仮に全部0以上の整数とした時に 5*5*5>125,100>4*4*4のメモ代り
231 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 23:59:19 ID:RjwvfByt.net] k=1から100のどれかに対してじゃなくて、 k=1から100のそれぞれすべてに対して求めるんじゃろ…
232 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 00:11:02 ID:10jfhd7e.net] https://ideone.com/WP5jkx 10000000以下で0.04秒 C++は速い!