[過去ログ] プログラミングのお題スレ Part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
104(3): 2019/12/05(木)06:49 ID:5PaJAEA2(1/7) AAS
return 100*101/2;
105(5): 2019/12/05(木)07:16 ID:P/hgT5Y1(1/5) AAS
>>104
なぜ return 5050; でないのか小一時間ほど問い詰めたい
106: 2019/12/05(木)07:38 ID:5PaJAEA2(2/7) AAS
自分で計算したくないから
107: 2019/12/05(木)07:40 ID:8H7awdOo(1/3) AAS
最適化されるから一緒
意図がわからない
変数に置き換えて汎用化できない
一時間しゃべってみろよおい
108(1): 2019/12/05(木)07:43 ID:5PaJAEA2(3/7) AAS
>>105に対する>>104の利点
(比較的)変数に置き換えやすい
計算式がわかる
自分で計算しなくて良い
109: 2019/12/05(木)07:46 ID:5PaJAEA2(4/7) AAS
>>104 に対する >>105 の利点は何?
110: 2019/12/05(木)07:47 ID:5PaJAEA2(5/7) AAS
5文字少ない
だけかな?
111(1): 2019/12/05(木)10:43 ID:P/hgT5Y1(2/5) AAS
>>108
そういうことを言うならせめて
return 100*(100+1)/2;
って書けよ
112: 2019/12/05(木)13:14 ID:2uRKrxFi(1/4) AAS
+1
は手計算の手間もないし見ればわかる
非常に利点が少なく
文字入力の手間が相対的に大きくなる
113: 2019/12/05(木)13:17 ID:2uRKrxFi(2/4) AAS
どっちでも大差無いけど
114: 2019/12/05(木)13:21 ID:2uRKrxFi(3/4) AAS
次は>>105の利点を語ってくれよ
小一時間
115: 2019/12/05(木)14:27 ID:esMh+bxM(1/2) AAS
>>101
Kotlin script
println((1..100).sum())
116: 2019/12/05(木)14:31 ID:esMh+bxM(2/2) AAS
ま、しかし、昔々算数で四角を描いて 100 * (100 + 1) / 2 で出来ると習ったような気がするので馬鹿正直に1から100まで足す必要はないな。
117(1): 2019/12/05(木)15:17 ID:2uRKrxFi(4/4) AAS
工夫出来るところは工夫する
>>105は間違った工夫の例
118(1): 2019/12/05(木)18:32 ID:27clmKvC(1) AAS
>>105が小一時間いったい何を問い詰めるつもりだったのか気になる
119: 2019/12/05(木)18:59 ID:2GEt9xQA(1/2) AAS
おっすおら小一時間!
これからの議論におらわくわくすっぞ!
120: 2019/12/05(木)20:44 ID:lop64poz(1) AAS
>>101
Cの冗談
外部リンク:ideone.com
121: 2019/12/05(木)21:05 ID:jKYC5XJL(1) AAS
決まり文句のネタレスにえらく執着すんねw
122: 2019/12/05(木)21:06 ID:5PaJAEA2(6/7) AAS
1個目の関数で値だけ返すほうが簡単じゃ?
123: 2019/12/05(木)21:35 ID:P/hgT5Y1(3/5) AAS
>>118
お前のアホさとか、多分一時間じゃ足りないw
124: 2019/12/05(木)21:36 ID:P/hgT5Y1(4/5) AAS
>>117
中途半端な工夫ならしないほうがマシ
125(1): 2019/12/05(木)21:55 ID:5PaJAEA2(7/7) AAS
出て来れないと思ったのに
面の皮厚いね
126: 2019/12/05(木)22:09 ID:P/hgT5Y1(5/5) AAS
>>111にレスできないアホがなにか言ってるなw
127: 2019/12/05(木)22:40 ID:JeZRd2se(1) AAS
小一時間とかサムいフレーズでウケると思ってるからウザがられんだよ
128: 2019/12/05(木)23:12 ID:2GEt9xQA(2/2) AAS
俺は別にうざがってないぞ
なに全員がうざがってるみたいなまとめ方するんだよ
129: 2019/12/05(木)23:23 ID:d0dfL3uy(1) AAS
いいからおまえはどっかで2GEtしてこい
130: 2019/12/05(木)23:25 ID:8H7awdOo(2/3) AAS
小一時間問い詰めるとか
具体的に想像すると陰湿極まりないパワハラが思い浮かぶ
131: 2019/12/05(木)23:35 ID:LiE2fHBS(1) AAS
5ch初心者かよw
132: 2019/12/05(木)23:39 ID:8H7awdOo(3/3) AAS
5chのプロかよ
133: 2019/12/05(木)23:56 ID:uvnytkqs(1) AAS
こんな煽り合い久々に見たw
134: 2019/12/06(金)00:22 ID:N/M0C4CM(1) AAS
初心者じゃない奴が全員プロだとでも思ってるのかなぁw
まあとりあえずこれ読んどけ
外部リンク[html]:netyougo.com
135(1): 2019/12/06(金)01:10 ID:Rsc9FZ2h(1) AAS
用語とか以前に粘着っぷりがやばい
136(1): 2019/12/06(金)02:06 ID:RapGeMK4(1) AAS
背筋がサムくなるからもうやめてくれないかな
137(1): 2019/12/06(金)03:33 ID:BprTHIND(1) AAS
ものすごい速度で羊を数えてください
1 sheep two sheep three sheep four sheep ...........
138: 2019/12/06(金)05:57 ID:Ket1H4Yu(1) AAS
>>137
とりあえずお題なの?
曖昧すぎてわからん
139: 2019/12/06(金)06:42 ID:yuBnjbMi(1) AAS
>>136
>>135
140: 2019/12/06(金)14:03 ID:zI729h7a(1) AAS
>>101 julia
f(a,b)=(a+b)*(b-a+1)÷2
f(1,100) #-> 5050
f(50,80) #-> 2015
141: 2019/12/06(金)22:43 ID:7FicwbM7(1/2) AAS
>>101 Perl5
use feature current_sub;
print sub {$_[0] and $_[0] + __SUB__->($_[0] - 1)}->(100);
142: 2019/12/06(金)22:53 ID:7FicwbM7(2/2) AAS
>>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) }
};
省1
143: 蟻人間 ◆T6xkBnTXz7B0 2019/12/06(金)23:19 ID:jz2bvt/z(1/2) AAS
お題: 丸カッコと空白の並びで構成される入力文字列がある。丸カッコは入れ子になっていてそれぞれペアになっている。入力文字列は奇数文字数である。
プレーヤー1は、最初に入力文字列の一番左端に居る。プレーヤー2は最初に入力文字列の一番右端に居る。各プレーヤーは一回のアクションで次のいずれかの動作が可能。
(あ) カッコを飛び越えずにひとつ左か右に移動する。ただし、入力文字列の外側には移動できない。
(い) プレーヤーXがカッコAの外側に居て、AとXが隣接しているとき、XがカッコAに対応する別のカッコBの外側の端に移動する。
(う) カッコをひとつまたいでひとつ左か右に移動する。
入力文字列に対してプレーヤー1と2を何度もターン制でアクションをさせてプレーヤーの位置が衝突するまで鬼ごっこをさせよ。
動かすのはランダムでも知能つきでも構わない。アクションごとに位置を表示せよ。
144: 蟻人間 ◆T6xkBnTXz7B0 2019/12/06(金)23:33 ID:jz2bvt/z(2/2) AAS
知能戦略の例)
鬼はなるべく近くなる方を選ぶ。
子どもは鬼からなるべく遠ざかるように動く。
145: 2019/12/07(土)00:07 ID:n8phrA6e(1) AAS
動き方がわかりません
1文字右が ( の場合
(あ)1文字右に動く
(い)右の ( に対応する ) の右の文字に動く
(う)2文字右に動く
のいずれかが出来る
ただし、(い) (う) の移動先が文字列の外になる場合は移動出来ない
でいい?
146: 2019/12/07(土)00:25 ID:FrJsgiML(1) AAS
あ と う は合わせられないか?
147: 2019/12/07(土)00:25 ID:7zlttp1T(1/3) AAS
>>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);
148: 2019/12/07(土)00:44 ID:7zlttp1T(2/3) AAS
>>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);
149: 2019/12/07(土)01:33 ID:7zlttp1T(3/3) AAS
>>101 Perl5
use List::Util 'sum';
print sum 1..100;
150(8): 2019/12/07(土)03:39 ID:GrS1V5od(1/4) AAS
お題
1以上、20以下の整数がランダムに10個与えられます。
与えられた整数の集合から1つ以上の整数を抜き出し、残った整数の集合からまた1つ以上の整数を抜き出します。
この時2つの抜き出した整数の集合のそれぞれの和が同値であり、かつ最小のものを出力して下さい。
例
与えられた整数の集合 : 2 3 4 5 6 7 8 9 10 11
期待される出力 : 5
この場合、与えられた整数の集合から
「2,3」「5」の整数を抜き出しています。
151: 2019/12/07(土)03:47 ID:GrS1V5od(2/4) AAS
元ネタ
2chスレ:news4vip
152(2): 2019/12/07(土)04:00 ID:G4M88S/c(1) AAS
・「同値」の意味が謎
・解がない時の処理が謎(e.g. input: 9 10 11 12 13 14 15 16 17 18
・同値の使い方が間違っているのでそもそも「集合」の元が重複しないものとしてよいものか悩ましい
153: 2019/12/07(土)04:23 ID:GrS1V5od(3/4) AAS
>>152
同値は単に同じ(等しい)値という意味で使っています。
解が存在しない場合は「ないよー」と出力して下さい。
与えられる整数は重複する可能性があります。
154(1): 2019/12/07(土)05:16 ID:HQTo5ewj(1/2) AAS
ならば結局こういうことでよいのかね.
もとのスレを見ても出題者本人の主張が不明瞭なうえに二転三転していて気持ち悪いが.
与えられた数列を {a_n} に対して,
{a_n} の異なる項からなる任意の部分列の内それぞれの和が等しくなるものを {b_n}, {c_n} として
Σb_n (= Σc_n) が最小となる {b_n}, {c_n} を求めよ.
そして今回は b, c の項数をそれぞれ 2, 1 に限るものとすると.
155(1): 2019/12/07(土)05:38 ID:GrS1V5od(4/4) AAS
もう少し例を載せるべきでした。
すいません。
例えば
>>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
省2
156: 2019/12/07(土)06:50 ID:HQTo5ewj(2/2) AAS
>>155
なるほど、概ね理解した
157(2): 2019/12/07(土)09:57 ID:WrheNqRo(1/3) AAS
>>150
取り敢えずRで力任せ。これでも瞬時に終わるので工夫の必要なし。
外部リンク:ideone.com
158: 2019/12/07(土)15:33 ID:WrheNqRo(2/3) AAS
実は>>157は「残った整数の集合から」の条件を忘れていて、元の集合から抜き出すと
勘違いして書いてしまったプログラム。
が、改めて条件を考えてみると、既に抜き出された数と同じものを選んでしまうのは、
「片方の部分集合の要素が2個以上で、もう片方の部分集合の要素が3個以上の場合」(A)
に限られる。例えば、2+9=11と2+3+6=11。この場合、2回選んでしまった2を取り除いた
部分集合は、和9=9と3+6=9が11より小さく、かつ(A)の場合に該当しないので2回選んで
しまった数は存在しない。
だから結局、>>157のプログラムのままで正解が得られることになる。
159: 2019/12/07(土)16:28 ID:tj55yZgB(1) AAS
へなへななお題へなへなな回答
160(2): 2019/12/07(土)20:45 ID:HU7sPj+p(1) AAS
>>150
この問題から関連して考えてたんだけど
5を
1 1 1 1 1
1 1 1 2
1 1 3
1 2 2
1 4
2 3
5
省5
161: 2019/12/07(土)22:36 ID:WrheNqRo(3/3) AAS
>>160
Rでお決まりの再帰呼び出し。
外部リンク:ideone.com
162: 2019/12/07(土)23:22 ID:eT8T+vHJ(1) AAS
分割数でググれば考え方いっぱい出てくるよ
163: 2019/12/08(日)13:36 ID:jvur7pXC(1) AAS
>>160
C++
外部リンク:ideone.com
164(1): 2019/12/08(日)13:57 ID:FOSx0Jk/(1/4) AAS
>>154
最後の文はどこから出てきたの?
165(1): 2019/12/08(日)13:58 ID:xElyalHo(1/2) AAS
>>164
元のスレ
166: 2019/12/08(日)14:21 ID:FOSx0Jk/(2/4) AAS
しらんがな
167: 2019/12/08(日)14:22 ID:FOSx0Jk/(3/4) AAS
その制限が無い方がアルゴリズムとしておもしろい
制限があるとつまらなすぎる
168: 2019/12/08(日)17:19 ID:xElyalHo(2/2) AAS
知らんがなって
なら聞くなアホ
169: 2019/12/08(日)17:53 ID:FOSx0Jk/(4/4) AAS
すまん
不満は>>150に言ったつもり
そんな重要な事を省略すんなって
170: 2019/12/08(日)19:17 ID:DgjgjjxW(1) AAS
別に項数の制限はつけていませんよ
「項数の制限が無い」という事を省略したのに怒っているのならすいません。
ですが制限があるのなら普通に問題文に加えますし、別に書くほどの事では無いかな〜と
171: 2019/12/08(日)19:37 ID:KCeBLlvA(1/8) AAS
>>150
外部リンク:ideone.com
C++。総当たりです。スカイレークのi7で12秒くらいかかります。
久しぶりにまじめに総当たりを書いた気がしました。
172: 2019/12/08(日)19:44 ID:KCeBLlvA(2/8) AAS
>>150
外部リンク:ideone.com
オマケで、答えが見える版を置いておきます。C++。
173: 2019/12/08(日)20:22 ID:KCeBLlvA(3/8) AAS
ちなみにオーダーは大体O(N!)位です。(笑
174: 2019/12/08(日)20:35 ID:KCeBLlvA(4/8) AAS
ギャグですけど、並列化は比較的簡単なのでそれで時間短縮はできます。
底の値をシェアードにすると早く終わります。Nになってると思うんだけど。
175: 2019/12/08(日)20:48 ID:KCeBLlvA(5/8) AAS
一回を関数に切り出して実行した場合、
一回のイテレーションが大体100回のループに収まるはずなのでザクザクおわります。
多分。
176: 2019/12/08(日)20:49 ID:KCeBLlvA(6/8) AAS
一回を関数に切り出して実行した場合、
一回のイテレーションが大体100回のループに収まるはずなのでザクザクおわります。
多分。
177: 2019/12/08(日)20:59 ID:KCeBLlvA(7/8) AAS
ぐあ、重複した・・・。
178(2): 2019/12/08(日)21:17 ID:FKbRmDMb(1/2) AAS
>>150
これは問題の設定がつまらないな。1〜20の中から10個を選んで元の集合を作るから、
結果に1個か2個の和しかほとんど現れず、集合の最初の方をパッと見ただけで
暗算でも分かってしまう。1〜5000の中から10個を選ぶ設定にすると、
結果がなしだったり、3個の和と4個の和だったり、2個の和と6個の和だったり、
変化に富んで面白くなる。外部リンク:ideone.com
例えば、リンク先にある
入力: [63, 70, 269, 949, 1337, 2670, 3538, 3764, 4183, 4320]
出力: Σ[3764, 4183] = Σ[63, 70, 269, 1337, 2670, 3538] = 7947
なんてパッと見では思いつかないから、コンピュータに探させる意義がある。
179: 2019/12/08(日)21:27 ID:KCeBLlvA(8/8) AAS
>>178
異様に早いなーと思ったら、言語にコンビネーションあるんかいな。
裏山シー。
180(2): 2019/12/08(日)22:01 ID:h14g0YSH(1) AAS
サンプルだから人間が簡単に検証できるようにしてるんでしょ
普通それぐらいはわかりそうなもんだけど、>>165みたいに項数だと思う奴とか>>178みたいにイチャモンつける奴とか世の中広いわw
181(1): 2019/12/08(日)22:35 ID:FKbRmDMb(2/2) AAS
>>180
そんなことは分かっているよ。だから、お題通りの1〜20の場合も>>157でちゃんと回答した。
その上で、もっと面白い場合の追加を提案してみただけ。
182(1): 2019/12/09(月)00:06 ID:QbXWD96q(1/4) AAS
>>150
N!より速い方法ある?
183: 2019/12/09(月)00:53 ID:rq2SBWAq(1) AAS
>>182
動的計画法?
184: 2019/12/09(月)01:15 ID:2eMu76Ef(1/2) AAS
外部リンク:ideone.com
全ての和を計算して並べ替えるだけ
多分最も愚直な方法
185: 2019/12/09(月)01:57 ID:2eMu76Ef(2/2) AAS
bit演算で面倒なことやってたけどpairっての使えば良かったのか
186: 2019/12/09(月)02:04 ID:vzskLW//(1) AAS
>>150 外部リンク:ideone.com
By PyPy、 ノーマルpythonでは力業の(N=20)が8秒くらいかな、
力業が 2^N * N
最小値だけなら、N*数列の合計 = N^2 * 数の平均(/2) ででる(みたい?)
(自信ががないDP解)
187(1): 2019/12/09(月)02:51 ID:ElWitvQQ(1/2) AAS
>>180
日本語が読め無い馬鹿発見
188: 2019/12/09(月)04:54 ID:wE9bCkNR(1/2) AAS
>>181
わかってたら
> これは問題の設定がつまらないな。
なんていう物言いにはならんだろ
>>187
夜中まで必死だな…
何に必死なのかよくわからんけどw
189: 2019/12/09(月)05:00 ID:ElWitvQQ(2/2) AAS
必死なのはお前だろ
お前一人だけ日本語すらまともに読めてない馬鹿だって気づけよ
190: 2019/12/09(月)06:12 ID:wE9bCkNR(2/2) AAS
うわっ、アホが無駄に絡んできたよw
191: 2019/12/09(月)06:42 ID:QCNDYaVq(1) AAS
明け方からどんだけ必死なんだよ
以降、劣等感の塊のID:wE9bCkNRくんが全レスしてくれるってよ!
192(1): 2019/12/09(月)06:46 ID:PLlkWb6P(1) AAS
こいつ少し上の方でレスバしてたアホやろ?
さんざん馬鹿にされて悔しい思いしたから早朝にちょろっと顔出してるんやろ
193: 2019/12/09(月)07:23 ID:RwnUxfkW(1) AAS
単芝ガイジ君、情けなさ過ぎて草
194: 2019/12/09(月)12:30 ID:G+LM1RHL(1) AAS
>>192
自己紹介乙ww
195: 2019/12/09(月)15:19 ID:gONUrOAf(1/2) AAS
外部リンク:ideone.com
C++面白いな
196: 2019/12/09(月)15:48 ID:gONUrOAf(2/2) AAS
(sum[i].second & sum[i + 1].second) == 0
この比較はいらないのかな
これが重なってるならより小さい重なってない組合せが必ず存在するか
197(9): 2019/12/09(月)21:07 ID:l5WymCFL(1/2) AAS
お題:2つの素数(2つは同じでもよい)の積で表される数は半素数と呼ばれる。
1万以下の半素数をすべて表示せよ。
198: 2019/12/09(月)21:20 ID:QbXWD96q(2/4) AAS
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};
199: 2019/12/09(月)21:22 ID:QbXWD96q(3/4) AAS
91じゃなかった
200: ◆QZaw55cn4c 2019/12/09(月)21:29 ID:ZryjKmS+(1/2) AAS
>>197
2chスレ:tech
2625個、でしょうか?
201(1): ◆QZaw55cn4c 2019/12/09(月)21:35 ID:ZryjKmS+(2/2) AAS
やりなおします
>>197
2chスレ:tech
2625個
202: 2019/12/09(月)22:42 ID:QbXWD96q(4/4) AAS
ふるいで5000以下の素数を求めて
2重ループで列挙
が速いかな
203(1): 2019/12/09(月)22:48 ID:l5WymCFL(2/2) AAS
>>201
正解。Rでエラトステネスの篩を使って求めるプログラムを一応貼っておく。
外部リンク:ideone.com
上下前次1-新書関写板覧索設栞歴
あと 799 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.054s