[過去ログ] プログラミングのお題スレ Part11 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(4): 2018/04/24(火)20:45 ID:ZY7R7Sru(1) AAS
プログラミングのお題スレです。
前スレ
プログラミングのお題スレ Part10
2chスレ:tech
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
省13
2(1): 2018/04/24(火)20:46 ID:WimzHme9(1) AAS
>>1 乙
3: 2018/04/24(火)21:01 ID:b5LehDYo(1/3) AAS
>>1
おちゅ
4(1): 2018/04/24(火)21:57 ID:+2ez/H34(1) AAS
出題に際しては
- お題の意図を汲みやすい入出力例も示す
- 事前に自分でもコードを書いてみる
5: 2018/04/24(火)22:12 ID:b5LehDYo(2/3) AAS
このスレ久しぶりに来た
数学できない勢だけどよろすこ
6(1): 2018/04/24(火)22:50 ID:26GTet/U(1) AAS
じゃあ過去ログから面白そうなお題探してきて
7(1): 2018/04/24(火)23:28 ID:b5LehDYo(3/3) AAS
>>6
過去ログから持ってきた訳じゃないんだけど、こういうお題を考えた
平面座標aとbが入力されます。bから見てaがおおよそ何時の方角にあるか時刻で出力してください。
例えば座標の方角が2時と3時の中間だった場合は両方の時刻を同時に出力してください。
座標が重なった場合は0時と出力してください。方角の精度は時刻み、分刻みから選択自由とします。
でも何か既視感あるんだよな
過去ログに似たようなお題があったかもしれない
8: 2018/04/25(水)00:32 ID:Q0aOI6dW(1) AAS
(逆)三角関数使わずにって制限つければまあまあ面白いかもしれない
9: 2018/04/25(水)01:02 ID:Xk9Nens/(1) AAS
数学じゃん。
紙と鉛筆で解いて算出は電卓でやれ。
プログラムでやっても電卓でできる程度のことしかしないじゃん。
10: 2018/04/25(水)04:59 ID:uzp6LfsA(1) AAS
>>7 Squeak Smalltalk
| fn |
fn := [:a :b | (a - b) theta negated / (2 * Float pi) * 12 + 3 \\ 12].
fn value: 6@12 value: 6@6. "=> 0.0 "
fn value: 6+(2*3 sqrt)@12 value: 6@6. "=> 1.0 "
fn value: 6-(2*3 sqrt)@12 value: 6@6. "=> 11.0 "
fn value: 12@6 value: 6@6. "=> 3.0 "
省3
11(9): 2018/04/25(水)07:24 ID:OIcVuxa9(1) AAS
AA省
12(2): 2018/04/25(水)08:12 ID:YrZy/fuf(1/2) AAS
>>11
手計算でやっても答えが一致しないのだが、本当にそんな時間掛かるか?
C++ 外部リンク:ideone.com
13: 2018/04/25(水)08:15 ID:YrZy/fuf(2/2) AAS
>>12
あ、ごめん私が間違えてた
計算し直してくる
14(2): 2018/04/25(水)08:57 ID:s6Mh195j(1/3) AAS
スレの宿題のをやってみた (規制対象なのでurlに全角スペースいれてます)
外部リンク:bit.ly
以下のルール
全員が以下のルールを守って空席に決められた順に座るものとする
・全員の数字と着席順は皆が知っている
・スコアは上下左右の2〜4セルの数値の合計
・必ず空席のうちの最大のスコアになる席に座る
省14
15: 2018/04/25(水)09:00 ID:s6Mh195j(2/3) AAS
>スレの宿題のを
「前スレの宿題の」と書こうとしてミスしました。
実際のとこ宿題なのかどうかは知らないけど。
16: 2018/04/25(水)09:14 ID:s6Mh195j(3/3) AAS
>>14のをちょっとだけ訂正
(コードをcodeの方に書いただけ)
外部リンク:bit.ly
17: 2018/04/25(水)10:26 ID:tAxnUvIH(1/2) AAS
>>11
テスト例の最初のやつはなぜ18になるのか?7+3+7=17ではないのか?
18: 2018/04/25(水)10:28 ID:tAxnUvIH(2/2) AAS
あ、ごめん。寝ぼけてた。すまん。
19: 2018/04/25(水)10:29 ID:8AWpTaB2(1/3) AAS
7 + (7 - 3) + 7 = 18
あってるよ
20: 2018/04/25(水)11:57 ID:pPLIJyjZ(1/3) AAS
度々ごめん
直に書けないurlはこう貼ればいいとわかったので
(もしかして常識だったか)
https://%62it%2Ely/2Jplh1k
21: 2018/04/25(水)12:11 ID:pPLIJyjZ(2/3) AAS
>>12
最後の b++ は b -- の打ち間違いか
22(3): 2018/04/25(水)12:51 ID:/CvNfD/i(1/7) AAS
>>11 の参考として戻る必要があるケースの例
05131:4501050
手計算では40時間。あってるかな
[ ]がA君B君の位置、
左端はそのステップに要する時間
0 [0]5131:450105[0]
5 0[5]131:45010[5]0
省10
23(2): 2018/04/25(水)15:06 ID:eqJJBtIM(1/2) AAS
>>14
A, B, C の3人の順番で、
Bがaマスを選ぶと、Cには最高点になるx, y の2つの選択肢があり、
Cがxの場合、Bは10点、
Cがyの場合、Bは5点となる
この場合、Bがaの場合は5点と考えるので、
Bがbの場合が7点なら、Bはbを採用する
省1
24(1): 22 2018/04/25(水)15:15 ID:/CvNfD/i(2/7) AAS
>>11
理解できてなかったわ
"07362:450" の解がもうわからん
25(1): 22 2018/04/25(水)15:29 ID:/CvNfD/i(3/7) AAS
>>23
Bはa,bどちらも5点ならどちらを選んでも良い
各人は自分の順になったとき、
選択可能な各位置について「以降誰が何をしても最悪でも〜点とれる」という点数を考え、
それが最大になる位置(のうちのどれか一つ)を選ぶ
(何をしても、といってももちろん皆が上記のルールは守るものとする)
ストレートなMin-Max戦略だなこれ
26(1): 2018/04/25(水)15:30 ID:ucQtsZek(1/2) AAS
>>24
0 [0]7362:45[0]
5 0[]7362:4[5]0
1 0[]7362:[4]50
3 0[7]362:[]450
3 07[]362:[4]50
1 07[]362:4[5]0
省11
27: 22 2018/04/25(水)15:37 ID:pPLIJyjZ(3/3) AAS
>>26
ありがとう
問題は理解できていて頭が悪いだけでした
28: 23 2018/04/25(水)18:07 ID:eqJJBtIM(2/2) AAS
>>25
Bのa・b 戦略が、共に5点の同点で、その2つをA に戻すから、
Aは両方を比較しなければならないから、複雑だと思って
29(4): 2018/04/25(水)19:23 ID:/CvNfD/i(4/7) AAS
>>11
やってみた
外部リンク:ideone.com
結果
"073:0" => 18
"07362:450" => 36
"06464:36470" => 46
省4
30(1): 2018/04/25(水)20:04 ID:8AWpTaB2(2/3) AAS
>>11って解無しのパターンってあるのかな?
31: 2018/04/25(水)20:26 ID:ucQtsZek(2/2) AAS
>>29 手計算
0 [0]6464:3647[0]
6 0[6]464:3647[]0
2 06[4]64:3647[]0
2 064[6]4:3647[]0
2 0646[4]:3647[]0
3 06464[]:364[7]0
省12
32: 29 2018/04/25(水)21:13 ID:/CvNfD/i(5/7) AAS
>>29はバグってた
直したら>>11と一致しました
外部リンク:ideone.com
常に解がありそうだけど証明はどうやるんだろ
33: 2018/04/25(水)21:16 ID:8AWpTaB2(3/3) AAS
ちょっと考えてみたけど至る所微分不可能な山ではない限り解は存在するね
34: 29 2018/04/25(水)21:33 ID:/CvNfD/i(6/7) AAS
適当に折り返すことによって山谷の数を合わせられる
あとは略、って感じか
35: 29 2018/04/25(水)21:38 ID:/CvNfD/i(7/7) AAS
数じゃなく高さを合わせるのか
眠くて頭が回らない
36(1): 2018/04/28(土)14:30 ID:O8BM7Wua(1) AAS
e^(z) + 1 = 0 を満たす全ての z∈C の絶対値の集合をSとする.
この時、Sの中でN番目(N≦10^5)に小さい元を求めよ.
なお, e = Σ{n∈N}(1/n!) である.
37: 2018/04/28(土)14:49 ID:8V4fYuem(1/2) AAS
数学じゃん。まーたセンセか。
数学板で相手してもらえないのかな?
38: 2018/04/28(土)14:54 ID:dXz/YQDX(1) AAS
つまんね
39: 2018/04/28(土)16:51 ID:bUTNgJY5(1/5) AAS
N番目に大きな正の奇数を求めよ、みたいな
40(16): 2018/04/28(土)17:14 ID:GokrK/uL(1) AAS
簡単なところで。
【お題】
与えられた整数のリストを、
すべての奇数がすべての偶数の前に来るよう並べ替えなさい。
ただし奇数、偶数、それぞれの順番は変えないこと。
[-1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7]
-> [-1, -9, -3, 5, 7, 9, 7, 2, 8, -2, -6, -10, -8]
41: 2018/04/28(土)17:36 ID:PugBvw3H(1/4) AAS
>>40 Java
外部リンク:ideone.com
しんぷる
42(1): 2018/04/28(土)18:15 ID:7FInXxAw(1/2) AAS
J
((#~2&|),(#~2&|&>:)) -1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7
出力
_1 9 3 _5 _7 _9 _7 _2 _8 _2 _6 10 _8
(Jでは_が負の符号)
43(1): 2018/04/28(土)18:19 ID:XQamhGXx(1) AAS
>>40 Perl
@a = (1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7);
@o = grep{$_ & 1} @a;
@e = grep{!($_ & 1)} @a;
use feature 'say';
use Data::Dump qw(dump);
say dump [@o, @e];
省2
44(1): 2018/04/28(土)18:21 ID:PugBvw3H(2/4) AAS
> _1 9 3 _5 _7 _9 _7 _2 _8 _2 _6 10 _8
Jは全くわからんが、出力おかしくないけ?
_1 _9 _3 5 7 9 7 2 8 _2 _6 _10 _8 になるはず?
45: 2018/04/28(土)19:00 ID:bUTNgJY5(2/5) AAS
>>44
おかしい。こんな短いものでバグ作るとは。
46: 2018/04/28(土)19:06 ID:8V4fYuem(2/2) AAS
なんだJニキたいしたことなかったんだな。ガッカリだわ
47: 2018/04/28(土)19:06 ID:bUTNgJY5(3/5) AAS
>>42
>((#~2&|),(#~2&|&>:)) -1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7
こう書かなきゃダメだった
((#~2&|),(#~2&|&>:)) _1 2 8 _9 _2 _3 _6 _10 _8 5 7 9 7
48: 2018/04/28(土)19:07 ID:bUTNgJY5(4/5) AAS
1か月くらいしかやってないから
ガタガタブルブル
49: 2018/04/28(土)19:11 ID:PugBvw3H(3/4) AAS
入力に , 入れてたからおかしくなったのけw
50: 2018/04/28(土)19:16 ID:bUTNgJY5(5/5) AAS
カンマはあっても良いんだけど _2 を -2 と書くと
,- なる演算子のコンビネータで世にも奇妙な動きになる
51: 2018/04/28(土)19:18 ID:PugBvw3H(4/4) AAS
やっぱりJわからんww
52: 2018/04/28(土)19:20 ID:e4v0vK3x(1) AAS
違った
1,2,3 => 1 2 3
1, -2, 3 => 1 _2 _3
マイナスがそれまで連結したそれより右、
上の例だと 2 3 全体に作用してた
53(1): 2018/04/28(土)20:02 ID:amQJLuCm(1/2) AAS
>>40
ソートするだけやん...
C++
外部リンク:ideone.com
54(1): 2018/04/28(土)20:34 ID:7FInXxAw(2/2) AAS
あー!
ソートするだけか。グッと短くなるな
J
(\:2&|) _1, 2, 8, _9, _2, _3, _6, _10, _8, 5, 7, 9, 7
結果
_1 _9 _3 5 7 9 7 2 8 _2 _6 _10 _8
55: 2018/04/28(土)21:15 ID:Ie6V8ZCt(1) AAS
>>40 Squeak/Pharo Smalltalk
| fn1 fn2 |
fn1 := [:arr | (arr select: #odd), (arr select: #even)].
fn2 := [:arr | (arr sort: [:x | x odd asBit] descending) asArray].
fn1 value: #(-1 2 8 -9 -2 -3 -6 -10 -8 5 7 9 7).
"=> #(-1 -9 -3 5 7 9 7 2 8 -2 -6 -10 -8) "
fn2 value: #(-1 2 8 -9 -2 -3 -6 -10 -8 5 7 9 7).
省1
56: 2018/04/28(土)21:55 ID:efxIQEuI(1) AAS
>>40
# Rubyで。
def f040(a)
a.select(&:odd?) + a.select(&:even?)
end
57: 2018/04/28(土)21:58 ID:fbonRnOo(1) AAS
>>40 Perl
@s = (-1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7);
push @{$a[$_ & 1]}, $_ for @s;
($e, $o) = @a;
print "@$o @$e\n";
$ perl 11_40.pl
-1 -9 -3 5 7 9 7 2 8 -2 -6 -10 -8
58: 2018/04/28(土)21:58 ID:4vnB69wL(1) AAS
[[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]
59(1): 2018/04/28(土)22:24 ID:kOoyKfN/(1) AAS
安定なソートである必要は無いのかな
60: 2018/04/28(土)22:45 ID:amQJLuCm(2/2) AAS
>>59
やり方による
>>53みたいな奴だと安定ソートが必要
61(2): 2018/04/29(日)00:30 ID:VMPsXvec(1/3) AAS
>>36って S = {(2m + 1)π / √((2nπ)^2 + 1)|(m, n)∈N^2}だから最小値存在しなくね?
複素数の複素数乗って多価関数だよね?
62(2): 2018/04/29(日)01:45 ID:eN7o88HV(1/2) AAS
>>61
e は実数で S = {(2n-1)π} じゃないの。
数学は良く知らんけど。
[[[{[{{]] を見て反省してJの良さが伝わりやすいように>>54をわかりやすく書き直してみた
定義
data =: _1 2 8 _9 _2 _3 _6 _10 _8 5 7 9 7
modulo =: |~
省14
63: 2018/04/29(日)01:48 ID:eN7o88HV(2/2) AAS
↑
\ になってる文字は本来バックスラッシュ
Jはスマフォアプリがあるので暇で困っている人にはパズル的に遊ぶのにお勧め
64(2): 2018/04/29(日)02:09 ID:VMPsXvec(2/3) AAS
>>62
z := x + y*i (x, y∈R)
e^z = -1
⇔ exp((x + y*i)(p.v.Log|e| + i*arg(e))) = -1
⇔ exp(x - 2nπy)*exp((2nπx + y)i) = -1
⇔ x = 2nπy and 2nπx + y = (2m + 1)π
⇔ x = 2nπy and y = (2m + 1)π/((2nπ)^2 + 1)
省3
65: 2018/04/29(日)02:12 ID:/ExMHkxk(1/2) AAS
>>40 Ocaml
外部リンク:ideone.com
初めて扱った言語だから分かりやすさ優先
冗長だよなぁ
66: 2018/04/29(日)02:23 ID:p2Z/45DS(1) AAS
>>62
>>>61
>modulo =: |~
~ はタイプミス(不要)でしたごめんなさい寝ます
67: 2018/04/29(日)03:00 ID:zLWhc+ki(1) AAS
>>40 javascript
var ary = [-1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7];
// 条件判定が二倍走るのが気に食わない
var ans = [...ary.filter(n => n % 2), ...ary.filter(n => !(n % 2))];
console.log(ans);
// のでこうした。長い…読むとき引っ掛かりそう
var ans = ary.reduce((acc, n) => n % 2 ? {odd: [...acc.odd, n], even: acc.even} : {odd: acc.odd, even: [...acc.even, n]}, {odd: [], even: []});
省5
68(1): 2018/04/29(日)05:45 ID:hIO/B/Lz(1/3) AAS
>>40
Kotlin
外部リンク:paiza.io
C
外部リンク:paiza.io
69: 2018/04/29(日)05:54 ID:hIO/B/Lz(2/3) AAS
>>43
やってることほとんど同じだけど短くできるので改造してみました。
Perl
外部リンク:paiza.io
70: 2018/04/29(日)07:08 ID:BEZTP3Wm(1) AAS
>>40 Common Lisp
外部リンク:ideone.com
計測してみたらsortが一番遅かった
外部リンク:ideone.com
71(1): 2018/04/29(日)09:01 ID:aHYSui5W(1/4) AAS
>>40 ruby
p [-1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7].partition(&:odd?).flatten
72: 2018/04/29(日)09:22 ID:aHYSui5W(2/4) AAS
>>40 ocaml
外部リンク:ideone.com
is_oddはぐぐって見つけたのの丸パクリ
73: 2018/04/29(日)10:27 ID:aHYSui5W(3/4) AAS
>>40 rust
外部リンク:ideone.com
タプルにflattenとかできたらよかったのに…
74: 2018/04/29(日)16:09 ID:hIO/B/Lz(3/3) AAS
>>40
Kotlin でも >>71 そっくりに書けることに気付いたので >>68 を fork して書き換えてみた。
外部リンク:paiza.io
75: 2018/04/29(日)20:33 ID:My7UiDyw(1) AAS
[[[ []]]]*[[ [][] ][] } } {} [[[
76: 2018/04/29(日)20:42 ID:/ExMHkxk(2/2) AAS
しっかし、良問なお題だな……
77(16): 2018/04/29(日)21:35 ID:f+z04ZEq(1) AAS
お題: 文字列をソートしなさい。ただし、英字のみをソートし他はそのままにすること。
例:
"213cba213cba213cba" -> "213aaa213bbb213ccc"
78: 2018/04/29(日)21:43 ID:VMPsXvec(3/3) AAS
>>77 Riby
"213cba213cba213cba".yield_self{|v|r=/[a-zA-Z]/;s=v.scan(r).sort;v.gsub(r){s.shift}} #=> "213aaa213bbb213ccc"
79: 2018/04/29(日)22:33 ID:aHYSui5W(4/4) AAS
>>77 octave
外部リンク:ideone.com
80(3): 2018/04/29(日)22:50 ID:WuAwAiPA(1/2) AAS
お題
二次元平面上の4点が与えられる。この4点で凸四角形を構成できるか判定せよ。
※4点の順番は、時計回りや反時計回りとは限らない。
(0, 0), (1, 0), (1, 1), (0, 1) => true
(0, 0), (1, 1), (1, 0), (0, 1) => true
(0, 0), (2, 0), (1, 1), (0, 2) => false
(0, 0), (1, 1), (2, 2), (3, 3) => false
省1
81: 2018/04/29(日)22:53 ID:yO7NcvMF(1) AAS
そんな空気読めないから学生に不人気なんだよ数学板帰れ
上下前次1-新書関写板覧索設栞歴
あと 921 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.299s*