プログラミングのお題スレです。
前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
探検
プログラミングのお題スレ Part11
レス数が1000を超えています。これ以上書き込みはできません。
2018/04/24(火) 20:45:14.49ID:ZY7R7Sru
2018/04/24(火) 20:46:44.20ID:WimzHme9
>>1 乙
2018/04/24(火) 21:01:59.85ID:b5LehDYo
>>1
おちゅ
おちゅ
2018/04/24(火) 21:57:24.56ID:+2ez/H34
出題に際しては
- お題の意図を汲みやすい入出力例も示す
- 事前に自分でもコードを書いてみる
- お題の意図を汲みやすい入出力例も示す
- 事前に自分でもコードを書いてみる
2018/04/24(火) 22:12:31.82ID:b5LehDYo
このスレ久しぶりに来た
数学できない勢だけどよろすこ
数学できない勢だけどよろすこ
2018/04/24(火) 22:50:49.03ID:26GTet/U
じゃあ過去ログから面白そうなお題探してきて
2018/04/24(火) 23:28:41.47ID:b5LehDYo
>>6
過去ログから持ってきた訳じゃないんだけど、こういうお題を考えた
平面座標aとbが入力されます。bから見てaがおおよそ何時の方角にあるか時刻で出力してください。
例えば座標の方角が2時と3時の中間だった場合は両方の時刻を同時に出力してください。
座標が重なった場合は0時と出力してください。方角の精度は時刻み、分刻みから選択自由とします。
でも何か既視感あるんだよな
過去ログに似たようなお題があったかもしれない
過去ログから持ってきた訳じゃないんだけど、こういうお題を考えた
平面座標aとbが入力されます。bから見てaがおおよそ何時の方角にあるか時刻で出力してください。
例えば座標の方角が2時と3時の中間だった場合は両方の時刻を同時に出力してください。
座標が重なった場合は0時と出力してください。方角の精度は時刻み、分刻みから選択自由とします。
でも何か既視感あるんだよな
過去ログに似たようなお題があったかもしれない
2018/04/25(水) 00:32:02.03ID:Q0aOI6dW
(逆)三角関数使わずにって制限つければまあまあ面白いかもしれない
2018/04/25(水) 01:02:21.48ID:Xk9Nens/
数学じゃん。
紙と鉛筆で解いて算出は電卓でやれ。
プログラムでやっても電卓でできる程度のことしかしないじゃん。
紙と鉛筆で解いて算出は電卓でやれ。
プログラムでやっても電卓でできる程度のことしかしないじゃん。
2018/04/25(水) 04:59:23.37ID:uzp6LfsA
>>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 "
fn value: 6@0 value: 6@6. "=> 6.0 "
fn value: 0@6 value: 6@6. "=> 9.0 "
fn value: 6@6 value: 6@6. "=> 0.0 "
| 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 "
fn value: 6@0 value: 6@6. "=> 6.0 "
fn value: 0@6 value: 6@6. "=> 9.0 "
fn value: 6@6 value: 6@6. "=> 0.0 "
11デフォルトの名無しさん
2018/04/25(水) 07:24:05.48ID:OIcVuxa9 過去ログから、さすがにこれはプログラミングの問題でしょ
お題:
下図のように山の麓(標高0)の両側にいるA君B君が頂上(標高10)を目指して同時に出発する
ただし、A君B君のいる位置の標高はどの時刻でも等しくなるように登らなければならない
(下図でA君が標高7の峠から標高3の谷へ下るときにはB君は来た道を引き返す必要がある)
標高1だけ上るor下るのに1時間かかるとして頂上まで最短で何時間かかるか求めよ
10
7 /\
/\/3 \
A 0/ \0 B
山の形状は以下のような文字列で表現する
1)文字列の先頭と末尾はA君B君のスタート地点(標高0)を表し、必ず'0'である
2)ゴールの頂上(標高10)の位置は':'で表す(文字コードがちょうど':'='0'+10なので)
3)途中の峠と谷の標高を'1'〜'9'で表す(上図の山の形状は"073:0"と表される)
4)途中の峠と谷は交互に現れるようにする(例えば"037:0"は無し)
テスト例
"073:0" -> 18
"07362:450" -> 36
"06464:36470" -> 42
"0827171:28480" -> 66
"0737491:28180" -> 146
"05374734372747484:184618186912120" -> ?
お題:
下図のように山の麓(標高0)の両側にいるA君B君が頂上(標高10)を目指して同時に出発する
ただし、A君B君のいる位置の標高はどの時刻でも等しくなるように登らなければならない
(下図でA君が標高7の峠から標高3の谷へ下るときにはB君は来た道を引き返す必要がある)
標高1だけ上るor下るのに1時間かかるとして頂上まで最短で何時間かかるか求めよ
10
7 /\
/\/3 \
A 0/ \0 B
山の形状は以下のような文字列で表現する
1)文字列の先頭と末尾はA君B君のスタート地点(標高0)を表し、必ず'0'である
2)ゴールの頂上(標高10)の位置は':'で表す(文字コードがちょうど':'='0'+10なので)
3)途中の峠と谷の標高を'1'〜'9'で表す(上図の山の形状は"073:0"と表される)
4)途中の峠と谷は交互に現れるようにする(例えば"037:0"は無し)
テスト例
"073:0" -> 18
"07362:450" -> 36
"06464:36470" -> 42
"0827171:28480" -> 66
"0737491:28180" -> 146
"05374734372747484:184618186912120" -> ?
2018/04/25(水) 08:12:36.77ID:YrZy/fuf
2018/04/25(水) 08:15:25.48ID:YrZy/fuf
14デフォルトの名無しさん
2018/04/25(水) 08:57:14.64ID:s6Mh195j スレの宿題のをやってみた (規制対象なのでurlに全角スペースいれてます)
https://bi t.ly/2FdJBkh
以下のルール
全員が以下のルールを守って空席に決められた順に座るものとする
・全員の数字と着席順は皆が知っている
・スコアは上下左右の2〜4セルの数値の合計
・必ず空席のうちの最大のスコアになる席に座る
・最大のスコアの席が複数ある場合はどこに座っても良い
・「最大のスコアの席」とは、以降の人のルールに適う選択を考慮した上で決定される
(現在スコア5の2つの空席A, B があったとして、全員がルール通り座った結果Aが8、Bが7に
なる場合はAを選択しなくてはならない)
座席
〇〇5
〇9〇
12〇
に対して、
番号 3、4、6、77、8 がこの順でルール通り座ろうとすると下記の結果になった。
座る順の早い4番が77の隣に行けず6番に負けてしまうとかちょっとおもしろい
77 3 5
6 9 4
1 2 8
https://bi t.ly/2FdJBkh
以下のルール
全員が以下のルールを守って空席に決められた順に座るものとする
・全員の数字と着席順は皆が知っている
・スコアは上下左右の2〜4セルの数値の合計
・必ず空席のうちの最大のスコアになる席に座る
・最大のスコアの席が複数ある場合はどこに座っても良い
・「最大のスコアの席」とは、以降の人のルールに適う選択を考慮した上で決定される
(現在スコア5の2つの空席A, B があったとして、全員がルール通り座った結果Aが8、Bが7に
なる場合はAを選択しなくてはならない)
座席
〇〇5
〇9〇
12〇
に対して、
番号 3、4、6、77、8 がこの順でルール通り座ろうとすると下記の結果になった。
座る順の早い4番が77の隣に行けず6番に負けてしまうとかちょっとおもしろい
77 3 5
6 9 4
1 2 8
15デフォルトの名無しさん
2018/04/25(水) 09:00:27.95ID:s6Mh195j >スレの宿題のを
「前スレの宿題の」と書こうとしてミスしました。
実際のとこ宿題なのかどうかは知らないけど。
「前スレの宿題の」と書こうとしてミスしました。
実際のとこ宿題なのかどうかは知らないけど。
2018/04/25(水) 09:14:36.14ID:s6Mh195j
17デフォルトの名無しさん
2018/04/25(水) 10:26:52.48ID:tAxnUvIH >>11
テスト例の最初のやつはなぜ18になるのか?7+3+7=17ではないのか?
テスト例の最初のやつはなぜ18になるのか?7+3+7=17ではないのか?
18デフォルトの名無しさん
2018/04/25(水) 10:28:30.47ID:tAxnUvIH あ、ごめん。寝ぼけてた。すまん。
2018/04/25(水) 10:29:50.42ID:8AWpTaB2
7 + (7 - 3) + 7 = 18
あってるよ
あってるよ
2018/04/25(水) 11:57:29.80ID:pPLIJyjZ
2018/04/25(水) 12:11:25.24ID:pPLIJyjZ
>>12
最後の b++ は b -- の打ち間違いか
最後の b++ は b -- の打ち間違いか
2018/04/25(水) 12:51:35.60ID:/CvNfD/i
>>11 の参考として戻る必要があるケースの例
05131:4501050
手計算では40時間。あってるかな
[ ]がA君B君の位置、
左端はそのステップに要する時間
0 [0]5131:450105[0]
5 0[5]131:45010[5]0
5 [0]5131:4501[0]50
1 0[]5131:450[1]050
1 [0]5131:45[0]1050
5 0[5]131:4[5]01050
4 05[1]31:45[]01050
3 051[3]1:45[]01050
2 0513[1]:45[]01050
4 05131[]:4[5]01050
1 05131[]:[4]501050
9 05131[:]4501050
05131:4501050
手計算では40時間。あってるかな
[ ]がA君B君の位置、
左端はそのステップに要する時間
0 [0]5131:450105[0]
5 0[5]131:45010[5]0
5 [0]5131:4501[0]50
1 0[]5131:450[1]050
1 [0]5131:45[0]1050
5 0[5]131:4[5]01050
4 05[1]31:45[]01050
3 051[3]1:45[]01050
2 0513[1]:45[]01050
4 05131[]:4[5]01050
1 05131[]:[4]501050
9 05131[:]4501050
2018/04/25(水) 15:06:56.64ID:eqJJBtIM
>>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を採用する
しかし、Bのbが5点なら、aと同じだから、どうなるんだ?
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を採用する
しかし、Bのbが5点なら、aと同じだから、どうなるんだ?
2522
2018/04/25(水) 15:29:44.32ID:/CvNfD/i >>23
Bはa,bどちらも5点ならどちらを選んでも良い
各人は自分の順になったとき、
選択可能な各位置について「以降誰が何をしても最悪でも〜点とれる」という点数を考え、
それが最大になる位置(のうちのどれか一つ)を選ぶ
(何をしても、といってももちろん皆が上記のルールは守るものとする)
ストレートなMin-Max戦略だなこれ
Bはa,bどちらも5点ならどちらを選んでも良い
各人は自分の順になったとき、
選択可能な各位置について「以降誰が何をしても最悪でも〜点とれる」という点数を考え、
それが最大になる位置(のうちのどれか一つ)を選ぶ
(何をしても、といってももちろん皆が上記のルールは守るものとする)
ストレートなMin-Max戦略だなこれ
2018/04/25(水) 15:30:57.61ID:ucQtsZek
>>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
2 07[3]62:45[]0
2 073[]62:4[5]0
1 073[]62:[4]50
2 073[6]2:[]450
2 0736[]2:[4]50
1 0736[]2:4[5]0
3 0736[2]:45[]0
3 07362[]:4[5]0
1 07362[]:[4]50
6 07362[:]450
36時間
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
2 07[3]62:45[]0
2 073[]62:4[5]0
1 073[]62:[4]50
2 073[6]2:[]450
2 0736[]2:[4]50
1 0736[]2:4[5]0
3 0736[2]:45[]0
3 07362[]:4[5]0
1 07362[]:[4]50
6 07362[:]450
36時間
2823
2018/04/25(水) 18:07:14.08ID:eqJJBtIM2018/04/25(水) 19:23:53.90ID:/CvNfD/i
>>11
やってみた
https://ideone.com/LsjBLX
結果
"073:0" => 18
"07362:450" => 36
"06464:36470" => 46
"0827171:28480" => 66
"0737491:28180" => 146
"05374734372747484:184618186912120" => 400
一箇所だけ>>11と違うな
やってみた
https://ideone.com/LsjBLX
結果
"073:0" => 18
"07362:450" => 36
"06464:36470" => 46
"0827171:28480" => 66
"0737491:28180" => 146
"05374734372747484:184618186912120" => 400
一箇所だけ>>11と違うな
2018/04/25(水) 20:04:18.92ID:8AWpTaB2
>>11って解無しのパターンってあるのかな?
2018/04/25(水) 20:26:41.27ID:ucQtsZek
>>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
3 0646[4]:36[4]70
2 064[6]4:3[6]470
2 06[4]64:3[]6470
2 0[6]464:3[6]470
3 0[]6464:[3]6470
3 0[6]464:[]36470
2 06[4]64:[]36470
2 064[6]4:[]36470
2 0646[4]:[]36470
6 06464[:]36470
>>30
無いんじゃね?
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
3 0646[4]:36[4]70
2 064[6]4:3[6]470
2 06[4]64:3[]6470
2 0[6]464:3[6]470
3 0[]6464:[3]6470
3 0[6]464:[]36470
2 06[4]64:[]36470
2 064[6]4:[]36470
2 0646[4]:[]36470
6 06464[:]36470
>>30
無いんじゃね?
3229
2018/04/25(水) 21:13:14.97ID:/CvNfD/i2018/04/25(水) 21:16:36.07ID:8AWpTaB2
ちょっと考えてみたけど至る所微分不可能な山ではない限り解は存在するね
3429
2018/04/25(水) 21:33:09.38ID:/CvNfD/i 適当に折り返すことによって山谷の数を合わせられる
あとは略、って感じか
あとは略、って感じか
3529
2018/04/25(水) 21:38:29.30ID:/CvNfD/i 数じゃなく高さを合わせるのか
眠くて頭が回らない
眠くて頭が回らない
2018/04/28(土) 14:30:11.12ID:O8BM7Wua
e^(z) + 1 = 0 を満たす全ての z∈C の絶対値の集合をSとする.
この時、Sの中でN番目(N≦10^5)に小さい元を求めよ.
なお, e = Σ{n∈N}(1/n!) である.
この時、Sの中でN番目(N≦10^5)に小さい元を求めよ.
なお, e = Σ{n∈N}(1/n!) である.
2018/04/28(土) 14:49:49.33ID:8V4fYuem
数学じゃん。まーたセンセか。
数学板で相手してもらえないのかな?
数学板で相手してもらえないのかな?
2018/04/28(土) 14:54:49.91ID:dXz/YQDX
つまんね
2018/04/28(土) 16:51:43.06ID:bUTNgJY5
N番目に大きな正の奇数を求めよ、みたいな
2018/04/28(土) 17:14:48.72ID:GokrK/uL
簡単なところで。
【お題】
与えられた整数のリストを、
すべての奇数がすべての偶数の前に来るよう並べ替えなさい。
ただし奇数、偶数、それぞれの順番は変えないこと。
[-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]
【お題】
与えられた整数のリストを、
すべての奇数がすべての偶数の前に来るよう並べ替えなさい。
ただし奇数、偶数、それぞれの順番は変えないこと。
[-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]
2018/04/28(土) 17:36:46.27ID:PugBvw3H
2018/04/28(土) 18:15:08.94ID:7FInXxAw
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では_が負の符号)
((#~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では_が負の符号)
2018/04/28(土) 18:19:04.17ID:XQamhGXx
>>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];
$ perl 11_41.pl
[1, -9, -3, 5, 7, 9, 7, 2, 8, -2, -6, -10, -8]
@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];
$ perl 11_41.pl
[1, -9, -3, 5, 7, 9, 7, 2, 8, -2, -6, -10, -8]
2018/04/28(土) 18:21:14.38ID:PugBvw3H
> _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 になるはず?
Jは全くわからんが、出力おかしくないけ?
_1 _9 _3 5 7 9 7 2 8 _2 _6 _10 _8 になるはず?
2018/04/28(土) 19:00:22.31ID:bUTNgJY5
>>44
おかしい。こんな短いものでバグ作るとは。
おかしい。こんな短いものでバグ作るとは。
2018/04/28(土) 19:06:05.69ID:8V4fYuem
なんだJニキたいしたことなかったんだな。ガッカリだわ
2018/04/28(土) 19:06:51.88ID:bUTNgJY5
>>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
>((#~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
2018/04/28(土) 19:07:19.36ID:bUTNgJY5
1か月くらいしかやってないから
ガタガタブルブル
ガタガタブルブル
2018/04/28(土) 19:11:02.35ID:PugBvw3H
入力に , 入れてたからおかしくなったのけw
2018/04/28(土) 19:16:25.16ID:bUTNgJY5
カンマはあっても良いんだけど _2 を -2 と書くと
,- なる演算子のコンビネータで世にも奇妙な動きになる
,- なる演算子のコンビネータで世にも奇妙な動きになる
2018/04/28(土) 19:18:49.62ID:PugBvw3H
やっぱりJわからんww
2018/04/28(土) 19:20:47.82ID:e4v0vK3x
違った
1,2,3 => 1 2 3
1, -2, 3 => 1 _2 _3
マイナスがそれまで連結したそれより右、
上の例だと 2 3 全体に作用してた
1,2,3 => 1 2 3
1, -2, 3 => 1 _2 _3
マイナスがそれまで連結したそれより右、
上の例だと 2 3 全体に作用してた
2018/04/28(土) 20:02:26.64ID:amQJLuCm
2018/04/28(土) 20:34:22.01ID:7FInXxAw
あー!
ソートするだけか。グッと短くなるな
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
ソートするだけか。グッと短くなるな
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
2018/04/28(土) 21:15:59.30ID:Ie6V8ZCt
>>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 -9 -3 5 7 9 7 2 8 -2 -6 -10 -8) "
| 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 -9 -3 5 7 9 7 2 8 -2 -6 -10 -8) "
56デフォルトの名無しさん
2018/04/28(土) 21:55:04.43ID:efxIQEuI2018/04/28(土) 21:58:00.35ID:fbonRnOo
>>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
@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
2018/04/28(土) 21:58:07.26ID:4vnB69wL
[[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]
59デフォルトの名無しさん
2018/04/28(土) 22:24:14.64ID:kOoyKfN/ 安定なソートである必要は無いのかな
2018/04/28(土) 22:45:12.30ID:amQJLuCm
2018/04/29(日) 00:30:13.18ID:VMPsXvec
>>36って S = {(2m + 1)π / √((2nπ)^2 + 1)|(m, n)∈N^2}だから最小値存在しなくね?
複素数の複素数乗って多価関数だよね?
複素数の複素数乗って多価関数だよね?
2018/04/29(日) 01:45:04.33ID:eN7o88HV
>>61
e は実数で S = {(2n-1)π} じゃないの。
数学は良く知らんけど。
[[[{[{{]] を見て反省してJの良さが伝わりやすいように>>54をわかりやすく書き直してみた
定義
data =: _1 2 8 _9 _2 _3 _6 _10 _8 5 7 9 7
modulo =: |~
ascending_sort_by = \:
実行
data ascending_sort_by 2 modulo data
結果
_1 _9 _3 5 7 9 7 2 8 _2 _6 _10 _8
これを分かりにくくして行くと>>94になる
2項演算子 f と単項演算子 g から単行演算子 (f g)、
(f g) x の値は x f (g x) を作れる仕組み
2項演算子 f の左側引数をxに固定した単項演算子 x&f、(x&f) y の値は x f y を作れる仕組み
これらを使って「2での剰余をキーとしてソートする
単行演算子」を作って data に適用する形に書き直すと
(ascending_sort_by (2&modulo)) data
これを直に書いて不要な空白や括弧を取ると>>94の
(\:2&|) data
e は実数で S = {(2n-1)π} じゃないの。
数学は良く知らんけど。
[[[{[{{]] を見て反省してJの良さが伝わりやすいように>>54をわかりやすく書き直してみた
定義
data =: _1 2 8 _9 _2 _3 _6 _10 _8 5 7 9 7
modulo =: |~
ascending_sort_by = \:
実行
data ascending_sort_by 2 modulo data
結果
_1 _9 _3 5 7 9 7 2 8 _2 _6 _10 _8
これを分かりにくくして行くと>>94になる
2項演算子 f と単項演算子 g から単行演算子 (f g)、
(f g) x の値は x f (g x) を作れる仕組み
2項演算子 f の左側引数をxに固定した単項演算子 x&f、(x&f) y の値は x f y を作れる仕組み
これらを使って「2での剰余をキーとしてソートする
単行演算子」を作って data に適用する形に書き直すと
(ascending_sort_by (2&modulo)) data
これを直に書いて不要な空白や括弧を取ると>>94の
(\:2&|) data
2018/04/29(日) 01:48:41.58ID:eN7o88HV
↑
\ になってる文字は本来バックスラッシュ
Jはスマフォアプリがあるので暇で困っている人にはパズル的に遊ぶのにお勧め
\ になってる文字は本来バックスラッシュ
Jはスマフォアプリがあるので暇で困っている人にはパズル的に遊ぶのにお勧め
2018/04/29(日) 02:09:53.25ID:VMPsXvec
>>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)
⇔ z = (2m + 1)π/(2nπ - i)
⇒ |z| = |2m + 1|π/sqrt(4n^2π^2 + 1) (m, n∈N)
だからS = {(2n-1)π}はありえないよ
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)
⇔ z = (2m + 1)π/(2nπ - i)
⇒ |z| = |2m + 1|π/sqrt(4n^2π^2 + 1) (m, n∈N)
だからS = {(2n-1)π}はありえないよ
2018/04/29(日) 02:12:22.08ID:/ExMHkxk
2018/04/29(日) 02:23:13.34ID:p2Z/45DS
2018/04/29(日) 03:00:09.99ID:zLWhc+ki
>>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: []});
console.log([...ans.odd, ...ans.even]);
// 結局俺にはこれが分かりやすくていいや
var odd = [], even = [];
ary.forEach(n => {n % 2 ? odd.push(n) : even.push(n);});
console.log([...odd, ...even]);
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: []});
console.log([...ans.odd, ...ans.even]);
// 結局俺にはこれが分かりやすくていいや
var odd = [], even = [];
ary.forEach(n => {n % 2 ? odd.push(n) : even.push(n);});
console.log([...odd, ...even]);
2018/04/29(日) 05:45:46.05ID:hIO/B/Lz
2018/04/29(日) 05:54:20.45ID:hIO/B/Lz
70デフォルトの名無しさん
2018/04/29(日) 07:08:41.98ID:BEZTP3Wm2018/04/29(日) 09:01:58.05ID:aHYSui5W
>>40 ruby
p [-1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7].partition(&:odd?).flatten
p [-1, 2, 8, -9, -2, -3, -6, -10, -8, 5, 7, 9, 7].partition(&:odd?).flatten
2018/04/29(日) 09:22:53.62ID:aHYSui5W
2018/04/29(日) 10:27:23.47ID:aHYSui5W
74デフォルトの名無しさん
2018/04/29(日) 16:09:08.42ID:hIO/B/Lz >>40
Kotlin でも >>71 そっくりに書けることに気付いたので >>68 を fork して書き換えてみた。
https://paiza.io/projects/Ilw66tbpxElWvi1lSmKU3Q
Kotlin でも >>71 そっくりに書けることに気付いたので >>68 を fork して書き換えてみた。
https://paiza.io/projects/Ilw66tbpxElWvi1lSmKU3Q
2018/04/29(日) 20:33:37.53ID:My7UiDyw
[[[ []]]]*[[ [][] ][] } } {} [[[
2018/04/29(日) 20:42:22.87ID:/ExMHkxk
しっかし、良問なお題だな……
2018/04/29(日) 21:35:33.15ID:f+z04ZEq
お題: 文字列をソートしなさい。ただし、英字のみをソートし他はそのままにすること。
例:
"213cba213cba213cba" -> "213aaa213bbb213ccc"
例:
"213cba213cba213cba" -> "213aaa213bbb213ccc"
2018/04/29(日) 21:43:39.24ID:VMPsXvec
>>77 Riby
"213cba213cba213cba".yield_self{|v|r=/[a-zA-Z]/;s=v.scan(r).sort;v.gsub(r){s.shift}} #=> "213aaa213bbb213ccc"
"213cba213cba213cba".yield_self{|v|r=/[a-zA-Z]/;s=v.scan(r).sort;v.gsub(r){s.shift}} #=> "213aaa213bbb213ccc"
2018/04/29(日) 22:33:55.68ID:aHYSui5W
2018/04/29(日) 22:50:48.02ID:WuAwAiPA
お題
二次元平面上の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
(0, 0), (0, 0), (0, 0), (0, 0) => false
二次元平面上の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
(0, 0), (0, 0), (0, 0), (0, 0) => false
2018/04/29(日) 22:53:34.50ID:yO7NcvMF
そんな空気読めないから学生に不人気なんだよ数学板帰れ
2018/04/29(日) 23:11:38.79ID:wF7FhsU6
>>77 Squeak/Pharo Smalltalk
| fn |
fn := [:str |
| letters |
letters := OrderedCollection new.
((str asArray gather: [:chr | chr isLetter
ifTrue: [letters add: chr. '{', letters size asString, '}']
ifFalse: [chr asString]]
) as: String) format: letters sort
].
fn value: '213cba213cba213cba' "=> '213aaa213bbb213ccc' "
| fn |
fn := [:str |
| letters |
letters := OrderedCollection new.
((str asArray gather: [:chr | chr isLetter
ifTrue: [letters add: chr. '{', letters size asString, '}']
ifFalse: [chr asString]]
) as: String) format: letters sort
].
fn value: '213cba213cba213cba' "=> '213aaa213bbb213ccc' "
2018/04/29(日) 23:14:55.98ID:UI+loYQZ
>>77 Perl5
@s = split '', '213cba213cba213cba';
@i = 0..$#s;
@k = grep{$s[$_] =~ /[a-z]/} 0..$#s;
@l = sort @s[@k];
$s[$k[$_]] = $l[$_] for 0..$#k;
use feature 'say';
say @s;
$ perl 11_77.pl
213aaa213bbb213ccc
@s = split '', '213cba213cba213cba';
@i = 0..$#s;
@k = grep{$s[$_] =~ /[a-z]/} 0..$#s;
@l = sort @s[@k];
$s[$k[$_]] = $l[$_] for 0..$#k;
use feature 'say';
say @s;
$ perl 11_77.pl
213aaa213bbb213ccc
2018/04/29(日) 23:19:13.69ID:UI+loYQZ
2018/04/29(日) 23:22:03.47ID:WuAwAiPA
>>77 C++
#include <iostream>
#include <string>
#include <algorithm>
#include <boost/iterator/filter_iterator.hpp>
template <typename FwdIt>
void selection_sort(FwdIt first, FwdIt last) {
for (auto it = first; it != last; ++it) std::iter_swap(it, min_element(it, last));
}
int main() {
std::string s;
std::cin >> s;
selection_sort(boost::make_filter_iterator(&::isalpha, s.begin(), s.end()), boost::make_filter_iterator(&::isalpha, s.end(), s.end()));
std::cout << s << std::endl;
}
#include <iostream>
#include <string>
#include <algorithm>
#include <boost/iterator/filter_iterator.hpp>
template <typename FwdIt>
void selection_sort(FwdIt first, FwdIt last) {
for (auto it = first; it != last; ++it) std::iter_swap(it, min_element(it, last));
}
int main() {
std::string s;
std::cin >> s;
selection_sort(boost::make_filter_iterator(&::isalpha, s.begin(), s.end()), boost::make_filter_iterator(&::isalpha, s.end(), s.end()));
std::cout << s << std::endl;
}
2018/04/29(日) 23:46:37.03ID:wPb3/3m7
>>77
Haskell
アルゴリズム自体は単純だけどコードが泥臭い
もっと綺麗に書けそう
import Data.Char
import Data.List
solve [] ys = ([],reverse $ sort ys)
solve (x:xs) ys = if isAlpha x
then let (vs,w:ws) = solve xs (x:ys) in (w:vs,ws)
else let (vs,ws) = solve xs ys in (x:vs,ws)
main = putStrLn $ fst $ solve "213cba213cba213cba" []
Haskell
アルゴリズム自体は単純だけどコードが泥臭い
もっと綺麗に書けそう
import Data.Char
import Data.List
solve [] ys = ([],reverse $ sort ys)
solve (x:xs) ys = if isAlpha x
then let (vs,w:ws) = solve xs (x:ys) in (w:vs,ws)
else let (vs,ws) = solve xs ys in (x:vs,ws)
main = putStrLn $ fst $ solve "213cba213cba213cba" []
2018/04/30(月) 00:05:47.30ID:873ZFTYn
お題
西暦X年のプレミアムフライデーを列挙せよ
西暦X年のプレミアムフライデーを列挙せよ
2018/04/30(月) 00:14:03.81ID:wP9Edy/s
それは概念的な方?それとも実際に仕事に影響する方?
後者ならプレミアムフライデー列挙は0文字でできるが
後者ならプレミアムフライデー列挙は0文字でできるが
2018/04/30(月) 03:32:32.41ID:XX4FB8lc
2018/04/30(月) 03:49:27.01ID:XX4FB8lc
あれ?strdup() で警告出てるな。strdup() って標準ではないか。
まあでもCコンパイラのアバウトな処理によって動くバイナリは作られたようだがw
やりたいことは分かると思うのでそのままにしておく。
まあでもCコンパイラのアバウトな処理によって動くバイナリは作られたようだがw
やりたいことは分かると思うのでそのままにしておく。
2018/04/30(月) 04:14:00.17ID:XX4FB8lc
92デフォルトの名無しさん
2018/04/30(月) 07:20:36.76ID:aMecU4PQ2018/04/30(月) 09:43:30.53ID:6GiCfUEC
>>77 Squeak/Pharo Smalltalk
| fn |
fn := [:str |
| letters |
letters := (str select: #isLetter) sort readStream.
str collect: [:chr | chr isLetter ifTrue: [letters next] ifFalse: [chr]]
].
fn value: '213cba213cba213cba' "=> '213aaa213bbb213ccc' "
| fn |
fn := [:str |
| letters |
letters := (str select: #isLetter) sort readStream.
str collect: [:chr | chr isLetter ifTrue: [letters next] ifFalse: [chr]]
].
fn value: '213cba213cba213cba' "=> '213aaa213bbb213ccc' "
2018/04/30(月) 11:03:34.34ID:6GiCfUEC
>>87 Squeak/Pharo Smalltalk
| preKinsOf |
preKinsOf := [:year |
(year asInteger asYear months collect: [:month |
(month dates select: [:date | date weekday == #Friday]) last]
) reject: [:date | date mmddyyyy beginsWith: '4/29']
].
preKinsOf value: 2022
"=> {28 January 2022 . 25 February 2022 . 25 March 2022 . 27 May 2022 .
24 June 2022 . 29 July 2022 . 26 August 2022 . 30 September 2022 .
28 October 2022 . 25 November 2022 . 30 December 2022} "
| preKinsOf |
preKinsOf := [:year |
(year asInteger asYear months collect: [:month |
(month dates select: [:date | date weekday == #Friday]) last]
) reject: [:date | date mmddyyyy beginsWith: '4/29']
].
preKinsOf value: 2022
"=> {28 January 2022 . 25 February 2022 . 25 March 2022 . 27 May 2022 .
24 June 2022 . 29 July 2022 . 26 August 2022 . 30 September 2022 .
28 October 2022 . 25 November 2022 . 30 December 2022} "
2018/04/30(月) 11:06:46.51ID:51rF4oVe
2018/04/30(月) 13:22:57.51ID:9wPwzi/d
[[[ [ "[]" ]]] [] [][[[ [] ]][]
2018/04/30(月) 15:39:38.12ID:3TseVeeC
>>77 Emacs Lisp
(defun f (a)
(flet ((alphaumericp (c) (string-match "[A-Za-z]" (string c))))
(let* ((b (concatenate 'list a))
(c (sort (remove-if-not #'alphaumericp b) #'<)))
(concat (mapcar (lambda (d) (if (funcall #'alphaumericp d) (pop c) d)) b)))))
f
(f "213cba213cba213cba")
"213aaa213bbb213ccc"
(defun f (a)
(flet ((alphaumericp (c) (string-match "[A-Za-z]" (string c))))
(let* ((b (concatenate 'list a))
(c (sort (remove-if-not #'alphaumericp b) #'<)))
(concat (mapcar (lambda (d) (if (funcall #'alphaumericp d) (pop c) d)) b)))))
f
(f "213cba213cba213cba")
"213aaa213bbb213ccc"
2018/04/30(月) 19:55:09.82ID:AG7SQVmm
2018/04/30(月) 20:05:33.19ID:AG7SQVmm
>>98
書き込んでから気がついたけど、お題の5個の入力では問題を起こさないが
差ベクトルが短すぎる場合や外積の面積が細過ぎる場合の打ち切りは、
nextで一階層ブロック脱出ではなく更にもう一階層外側のloopに脱出すべきか…orz
ま、いいか、テヘペロ
書き込んでから気がついたけど、お題の5個の入力では問題を起こさないが
差ベクトルが短すぎる場合や外積の面積が細過ぎる場合の打ち切りは、
nextで一階層ブロック脱出ではなく更にもう一階層外側のloopに脱出すべきか…orz
ま、いいか、テヘペロ
100デフォルトの名無しさん
2018/04/30(月) 20:32:21.58ID:3H79VXon >>64
e^(πi) = e^(3πi) = e^(5πi) = ... = -1 じゃないの?
e^(πi) = e^(3πi) = e^(5πi) = ... = -1 じゃないの?
101デフォルトの名無しさん
2018/04/30(月) 21:29:33.47ID:i4YlDPUd >>100
e^z = -1 に対して z = (2m + 1)i は十分条件でしかないよ
必要十分条件は z = (2m + 1)π/(2nπ - i) なの
で今 e^z = -1 を満たす「すべての」zって言われてるから十分条件じゃ意味なのは分かる?
そもそも十分条件って言葉は知ってるかな?
exp(x) と e^(x) が違うことはわかってる?
e^z = -1 に対して z = (2m + 1)i は十分条件でしかないよ
必要十分条件は z = (2m + 1)π/(2nπ - i) なの
で今 e^z = -1 を満たす「すべての」zって言われてるから十分条件じゃ意味なのは分かる?
そもそも十分条件って言葉は知ってるかな?
exp(x) と e^(x) が違うことはわかってる?
102デフォルトの名無しさん
2018/04/30(月) 21:50:54.13ID:vxN19J44 お題
大人数で一斉にじゃんけんを行った
各人の手のリストが与えられるのでその中で勝者が何人いるか答えよ
(g=グー,c=チョキ,p=パー)
gccgc -> 2
ggggggg -> 0
cppcppppccpppppc -> 5
cppcppppccpgpppc -> 0
大人数で一斉にじゃんけんを行った
各人の手のリストが与えられるのでその中で勝者が何人いるか答えよ
(g=グー,c=チョキ,p=パー)
gccgc -> 2
ggggggg -> 0
cppcppppccpppppc -> 5
cppcppppccpgpppc -> 0
>>101
それ、おかしくない?
m = n = 1 のとき、
すなわち e^((3*pi)/(2*pi - i)) を wolfram-alpha に食わせてみたんだが、-1 にならない
http://www.wolframalpha.com/input/?i=e%5E((3*pi)%2F(2*pi+-+i))
>>64
exp((x + y*i)(p.v.Log|e| + i*arg(e))) = -1
ってどういう意味なの?
それ、おかしくない?
m = n = 1 のとき、
すなわち e^((3*pi)/(2*pi - i)) を wolfram-alpha に食わせてみたんだが、-1 にならない
http://www.wolframalpha.com/input/?i=e%5E((3*pi)%2F(2*pi+-+i))
>>64
exp((x + y*i)(p.v.Log|e| + i*arg(e))) = -1
ってどういう意味なの?
104デフォルトの名無しさん
2018/04/30(月) 22:01:50.32ID:XN8sO4Rn105デフォルトの名無しさん
2018/04/30(月) 22:07:39.31ID:i4YlDPUd >>103
exp(z) := Σ{n∈N}z^n/n!
pv log(z) := log(z)の主値
arg(z) := 複素数zの偏角
リンクの wolfram-alpha はそりゃ値が一致しないよ。前提が違うんだから
exp(z) := Σ{n∈N}z^n/n!
pv log(z) := log(z)の主値
arg(z) := 複素数zの偏角
リンクの wolfram-alpha はそりゃ値が一致しないよ。前提が違うんだから
107デフォルトの名無しさん
2018/04/30(月) 22:55:46.76ID:i4YlDPUd108デフォルトの名無しさん
2018/04/30(月) 22:58:05.91ID:3TseVeeC >>102 Emacs Lisp
(defun f (g)
(let* ((c (concatenate 'list g))
(p (remove-duplicates c)))
(if (= (length p) 2)
(count (cdr (assoc (apply #'+ p) '((202 . ?g) (211 . ?c) (215 . ?p)))) c) 0)))
(f "gccgc") 2
(f "ggggggg") 0
(f "cppcppppccpppppc") 5
(f "cppcppppccpgpppc") 0
(defun f (g)
(let* ((c (concatenate 'list g))
(p (remove-duplicates c)))
(if (= (length p) 2)
(count (cdr (assoc (apply #'+ p) '((202 . ?g) (211 . ?c) (215 . ?p)))) c) 0)))
(f "gccgc") 2
(f "ggggggg") 0
(f "cppcppppccpppppc") 5
(f "cppcppppccpgpppc") 0
>>107
え?
z = x + yj
exp(z) = Σz^n/n! と定義するのと
exp(x + jy) = e^x・(cos(y) + j・sin(y)); x, y ∈R と定義するのとは同値でしょう?
後者を採用して、|exp(x + jy)| = |e^x|
e^z = -1 より |e^x| = 1, x ∈ R
だったら、やっぱり x = 0 しか取り得ないと思いますが…
え?
z = x + yj
exp(z) = Σz^n/n! と定義するのと
exp(x + jy) = e^x・(cos(y) + j・sin(y)); x, y ∈R と定義するのとは同値でしょう?
後者を採用して、|exp(x + jy)| = |e^x|
e^z = -1 より |e^x| = 1, x ∈ R
だったら、やっぱり x = 0 しか取り得ないと思いますが…
110デフォルトの名無しさん
2018/04/30(月) 23:25:43.22ID:i4YlDPUd >>109
同じことを何度言えば理解してもらえるんですかね
x = 2.71828...とすると
x^z = exp(z log(x))
= exp(z(pv log|x| + i*arg(x))
= exp(z + 2nπzi)
exp(z + 2nπzi)とexp(z)が一般に同値な訳ないでしょ
何度も言うけどわかりました? (2.718...)^z と Σ{n∈N}(z^n/n!)は全く別の値なんです
同じことを何度言えば理解してもらえるんですかね
x = 2.71828...とすると
x^z = exp(z log(x))
= exp(z(pv log|x| + i*arg(x))
= exp(z + 2nπzi)
exp(z + 2nπzi)とexp(z)が一般に同値な訳ないでしょ
何度も言うけどわかりました? (2.718...)^z と Σ{n∈N}(z^n/n!)は全く別の値なんです
111デフォルトの名無しさん
2018/04/30(月) 23:41:24.15ID:i4YlDPUd ついでになんか勘違いしてるみたいだから指摘しておきますけど
xが実数であっても exp(x) != (2.7...)^x じゃありませんからね(e.g. x=0.5などとすれば直ちに自明でしょう)
高校数学の感覚ではこれらは同じ値なのでしょうけど複素解析の文脈では指数関数は一般に多値関数ですからね
xが実数であっても exp(x) != (2.7...)^x じゃありませんからね(e.g. x=0.5などとすれば直ちに自明でしょう)
高校数学の感覚ではこれらは同じ値なのでしょうけど複素解析の文脈では指数関数は一般に多値関数ですからね
112デフォルトの名無しさん
2018/04/30(月) 23:42:01.80ID:i4YlDPUd 誤字
xが実数であっても exp(x) = (2.7...)^x じゃありません
xが実数であっても exp(x) = (2.7...)^x じゃありません
>>112
z = x + yj,∈C, x, y ∈R において、
複素指数関数 exp(z) を
exp(z) = Σz^n/n! と定義する…@
exp(x + jy) = e^x・(cos(y) + j・sin(y)); x, y ∈R と定義する…A
@⇔Aであることを前提とすれば、
x ∈R において
exp(x)
= e^x(cos0 + j・sin0)(∵A)
= e^x(1 + j・0)
= e^x
で
xが実数なら exp(x) = (2.7...)^x
ですね
でも >>110 の欠点がみえない
exp(z) = exp(z + 2nπj)(複素指数関数の周期性)
なのは理解しているつもりなんですが
z = x + yj,∈C, x, y ∈R において、
複素指数関数 exp(z) を
exp(z) = Σz^n/n! と定義する…@
exp(x + jy) = e^x・(cos(y) + j・sin(y)); x, y ∈R と定義する…A
@⇔Aであることを前提とすれば、
x ∈R において
exp(x)
= e^x(cos0 + j・sin0)(∵A)
= e^x(1 + j・0)
= e^x
で
xが実数なら exp(x) = (2.7...)^x
ですね
でも >>110 の欠点がみえない
exp(z) = exp(z + 2nπj)(複素指数関数の周期性)
なのは理解しているつもりなんですが
114デフォルトの名無しさん
2018/05/01(火) 00:10:24.66ID:W5y6CuNF >>113
再三再四申し上げますが一般に exp(z) と ネイピア数のz乗は別物です
あと何百回言えばこれを理解してもらえるんですかね
従ってAの定義は「exp(x + jy) = exp(x)・(cos(y) + j・sin(y))」としなければならないし
偽な命題を前提とすればそりゃどんな結論だって導けるってものです
というのも P ⊃ Q は P が偽の時常に真ですから
再三再四申し上げますが一般に exp(z) と ネイピア数のz乗は別物です
あと何百回言えばこれを理解してもらえるんですかね
従ってAの定義は「exp(x + jy) = exp(x)・(cos(y) + j・sin(y))」としなければならないし
偽な命題を前提とすればそりゃどんな結論だって導けるってものです
というのも P ⊃ Q は P が偽の時常に真ですから
115デフォルトの名無しさん
2018/05/01(火) 00:11:15.20ID:k1G9EgK2 プログラミングやってると数学学びたい欲求が出てくる
116デフォルトの名無しさん
2018/05/01(火) 00:11:33.54ID:bMu1E696 同値の意味も知らないような数学の素人がなにか言い合いしてますねえ
117デフォルトの名無しさん
2018/05/01(火) 00:29:59.90ID:zX/Wrdt+ お題
o,d,a,iからなる文字列Sが与えられる。
Sからいくつかの文字を取り除くことで"odai"をN回繰り返した文字列が得られたとする。
Nの最大値を求めよ。
odaiodai -> 2
ooddaai -> 1
idao -> 0
ododoadioadioadioadioadioadiodaioadodioadiaodi -> ?
o,d,a,iからなる文字列Sが与えられる。
Sからいくつかの文字を取り除くことで"odai"をN回繰り返した文字列が得られたとする。
Nの最大値を求めよ。
odaiodai -> 2
ooddaai -> 1
idao -> 0
ododoadioadioadioadioadioadiodaioadodioadiaodi -> ?
118デフォルトの名無しさん
2018/05/01(火) 00:33:21.72ID:6vH9r7He >>102 Perl5
use feature 'say';
for (<DATA>) {
chomp;
my ($i, %h);
$h{$_}++ for split'';
%gcp = (g=>c, c=>p, p=>g);
delete @gcp{keys %h};
@r = keys %gcp;
$k = $gcp{$r[0]};
say "$_ -> ", (1 == @r) ? $h{$k} : 0;
}
__DATA__
gccgc
ggggggg
cppcppppccpppppc
cppcppppccpgpppc
実行結果
$ perl 11_102.pl
gccgc -> 2
ggggggg -> 0
cppcppppccpppppc -> 5
cppcppppccpgpppc -> 0
use feature 'say';
for (<DATA>) {
chomp;
my ($i, %h);
$h{$_}++ for split'';
%gcp = (g=>c, c=>p, p=>g);
delete @gcp{keys %h};
@r = keys %gcp;
$k = $gcp{$r[0]};
say "$_ -> ", (1 == @r) ? $h{$k} : 0;
}
__DATA__
gccgc
ggggggg
cppcppppccpppppc
cppcppppccpgpppc
実行結果
$ perl 11_102.pl
gccgc -> 2
ggggggg -> 0
cppcppppccpppppc -> 5
cppcppppccpgpppc -> 0
119デフォルトの名無しさん
2018/05/01(火) 01:08:35.42ID:sD3/P01t >>77 javascript
var{nums,wrds}=(str=>eval(`((nums,...wrds)=>({nums,wrds}))\`${str.replace(/[a-zA-Z]+/g,'\${"$&"}')}\``))('213cba213cba213cba')
console.log(String.raw(nums,...(wSrt=>wrds.map(w=>wSrt.splice(0,w.length).join``))([...wrds.join``].sort())))
var{nums,wrds}=(str=>eval(`((nums,...wrds)=>({nums,wrds}))\`${str.replace(/[a-zA-Z]+/g,'\${"$&"}')}\``))('213cba213cba213cba')
console.log(String.raw(nums,...(wSrt=>wrds.map(w=>wSrt.splice(0,w.length).join``))([...wrds.join``].sort())))
120デフォルトの名無しさん
2018/05/01(火) 01:09:16.19ID:6vH9r7He >>117 Perl5
use feature 'say';
for (<DATA>) {
chomp;
@k = qw{o d a i};
$j = 0;
for ($n = 0; $n < length($_)>>2; $n++) {
for $c (qw{o d a i}) {
$i = index $_, $c, $j;
goto L1 if $i < 0;
$j = $i + 1;
}
}
L1:;
say "$_ -> ", $n;
}
__DATA__
odaiodai
ooddaai
idao
ododoadioadioadioadioadioadiodaioadodioadiaodi
実行結果
$ perl 11_117.pl
odaiodai -> 2
ooddaai -> 1
idao -> 0
ododoadioadioadioadioadioadiodaioadodioadiaodi -> 5
use feature 'say';
for (<DATA>) {
chomp;
@k = qw{o d a i};
$j = 0;
for ($n = 0; $n < length($_)>>2; $n++) {
for $c (qw{o d a i}) {
$i = index $_, $c, $j;
goto L1 if $i < 0;
$j = $i + 1;
}
}
L1:;
say "$_ -> ", $n;
}
__DATA__
odaiodai
ooddaai
idao
ododoadioadioadioadioadioadiodaioadodioadiaodi
実行結果
$ perl 11_117.pl
odaiodai -> 2
ooddaai -> 1
idao -> 0
ododoadioadioadioadioadioadiodaioadodioadiaodi -> 5
>>114
>一般に exp(z) と ネイピア数のz乗は別物です
それは心得ているつもりです。
以下、結構雑に書きますが、
exp(z)=Σz^n/n!…@
と定義する。
このときも@が収束すること、および
exp(z1 + z2) = exp(z1)exp(z2), z1, z2 ∈C…A
が成立することを暗黙の了解とする
z∈C, z = x + jy, x, y ∈R のとき
exp(z) = exp(x)exp(jy) …B(∵A)
exp(x) = Σx^n/n! = e^x
exp(jy) = 1 + (yj)/1! - y^2/2! - j・y^3/3! + y^4/4! + j・y^5/5! + …
=(1 - y^2/2! + y^4/4! - …) + j ・ (y/1! - y^3/3! + y^5/5! - …)
=cos(y) + j・sin(y)
すなわち exp(z) = e^x・(cos(y) + j・sin(y))…C
以上の議論は手元の教科書の引き写しです。
>一般に exp(z) と ネイピア数のz乗は別物です
それは心得ているつもりです。
以下、結構雑に書きますが、
exp(z)=Σz^n/n!…@
と定義する。
このときも@が収束すること、および
exp(z1 + z2) = exp(z1)exp(z2), z1, z2 ∈C…A
が成立することを暗黙の了解とする
z∈C, z = x + jy, x, y ∈R のとき
exp(z) = exp(x)exp(jy) …B(∵A)
exp(x) = Σx^n/n! = e^x
exp(jy) = 1 + (yj)/1! - y^2/2! - j・y^3/3! + y^4/4! + j・y^5/5! + …
=(1 - y^2/2! + y^4/4! - …) + j ・ (y/1! - y^3/3! + y^5/5! - …)
=cos(y) + j・sin(y)
すなわち exp(z) = e^x・(cos(y) + j・sin(y))…C
以上の議論は手元の教科書の引き写しです。
>>121 続き
>従ってAの定義は「exp(x + jy) = exp(x)・(cos(y) + j・sin(y))」としなければならないし
以上より exp(x + jy) = e^x・(cos(y) + j・sin(y)) …Cで問題ありません。
だから、x ∈ R とすれば exp(x) = e^x(cos0 + j・sin0) = e^x になります
つまり
>>114 をより正確にいえば
「exp(x) は e^x の自然な拡張」となり、>>112 は誤りとなります
また exp(z) の絶対値を考えると
.(exp(x + jy)) = √((e^x・cos(y))^2 + (e^x・sin(y))^2)
= e^x・√(cos^2(y) + sin^2(y))
= e^x
すなわち |exp(z)| = |e^x| すなわち複素指数関数の絶対値は引数の実部によって決まり、引数の虚部の影響を受けません
以上の議論は
https://ja.wikipedia.org/wiki/%E8%A4%87%E7%B4%A0%E6%8C%87%E6%95%B0%E5%87%BD%E6%95%B0
に書いてありました
>従ってAの定義は「exp(x + jy) = exp(x)・(cos(y) + j・sin(y))」としなければならないし
以上より exp(x + jy) = e^x・(cos(y) + j・sin(y)) …Cで問題ありません。
だから、x ∈ R とすれば exp(x) = e^x(cos0 + j・sin0) = e^x になります
つまり
>>114 をより正確にいえば
「exp(x) は e^x の自然な拡張」となり、>>112 は誤りとなります
また exp(z) の絶対値を考えると
.(exp(x + jy)) = √((e^x・cos(y))^2 + (e^x・sin(y))^2)
= e^x・√(cos^2(y) + sin^2(y))
= e^x
すなわち |exp(z)| = |e^x| すなわち複素指数関数の絶対値は引数の実部によって決まり、引数の虚部の影響を受けません
以上の議論は
https://ja.wikipedia.org/wiki/%E8%A4%87%E7%B4%A0%E6%8C%87%E6%95%B0%E5%87%BD%E6%95%B0
に書いてありました
>>122 続き
今 exp(z) = -1, z ∈C
>>122 Cより
exp(x + yj) = -1, x, y ∈R
e^x(cos(y) + j・sin(y)) = -1
e^x・cos(y) + j・e^x・sin(y) = -1…D
よってDの両辺の虚部が 0 だから
e^x・sin(y) = 0
e^x > 0 より sin(y) = 0
y = nπ…D(必要条件)
このとき
cos(y) = ±1
このときDの両辺の実部を比較して
e^x(±1) = -1
e^x > 0 だから cos(y) = -1 となるのはDの中でも y = (2n + 1)π, n ∈Zのときのみ
また y = (2n + 1)π のとき、e^x = 1, x = 0
>>109
exp(z) の絶対値は z の実部にのみ影響されます
exp(z) = -1 から |exp(z)| = 1
|exp(z)| = e^x
ですから
e^x = 1
これを満たすのは x = 0 のみ、という推論はどうでしょうか?
今 exp(z) = -1, z ∈C
>>122 Cより
exp(x + yj) = -1, x, y ∈R
e^x(cos(y) + j・sin(y)) = -1
e^x・cos(y) + j・e^x・sin(y) = -1…D
よってDの両辺の虚部が 0 だから
e^x・sin(y) = 0
e^x > 0 より sin(y) = 0
y = nπ…D(必要条件)
このとき
cos(y) = ±1
このときDの両辺の実部を比較して
e^x(±1) = -1
e^x > 0 だから cos(y) = -1 となるのはDの中でも y = (2n + 1)π, n ∈Zのときのみ
また y = (2n + 1)π のとき、e^x = 1, x = 0
>>109
exp(z) の絶対値は z の実部にのみ影響されます
exp(z) = -1 から |exp(z)| = 1
|exp(z)| = e^x
ですから
e^x = 1
これを満たすのは x = 0 のみ、という推論はどうでしょうか?
124デフォルトの名無しさん
2018/05/01(火) 01:43:11.17ID:W5y6CuNF >>121-123
>exp(x) = Σx^n/n! = e^x
なんでexp(x)とe^xを比較する議論の前提で、この2つが正しいことを利用してるの?
循環論法です。破綻しています
>exp(jy) = 1 + (yj)/1! - y^2/2! - j・y^3/3! + y^4/4! + j・y^5/5! + …
>=(1 - y^2/2! + y^4/4! - …) + j ・ (y/1! - y^3/3! + y^5/5! - …)
exp(x)が収束することしか仮定されていないためこの変形は成り立ちません
きちんと絶対収束(absolute convergence)することを示すか仮定しましょう。破綻しています
よって以後の議論は全て誤りですので参考になりません
殊に循環論法による誤謬は致命的ですね
あなたはまず複素解析の文脈で任意の実数xに対して exp(x) = (2.7...)^x となる事を証明しなければなりません
尤も、expは単射なのに対してa^zは多価関数なのでこれらが等しくないことは計算するまでもなく自明なんですが、
なんでここにこんなにつっかかってくるんですかね……
>exp(x) = Σx^n/n! = e^x
なんでexp(x)とe^xを比較する議論の前提で、この2つが正しいことを利用してるの?
循環論法です。破綻しています
>exp(jy) = 1 + (yj)/1! - y^2/2! - j・y^3/3! + y^4/4! + j・y^5/5! + …
>=(1 - y^2/2! + y^4/4! - …) + j ・ (y/1! - y^3/3! + y^5/5! - …)
exp(x)が収束することしか仮定されていないためこの変形は成り立ちません
きちんと絶対収束(absolute convergence)することを示すか仮定しましょう。破綻しています
よって以後の議論は全て誤りですので参考になりません
殊に循環論法による誤謬は致命的ですね
あなたはまず複素解析の文脈で任意の実数xに対して exp(x) = (2.7...)^x となる事を証明しなければなりません
尤も、expは単射なのに対してa^zは多価関数なのでこれらが等しくないことは計算するまでもなく自明なんですが、
なんでここにこんなにつっかかってくるんですかね……
125デフォルトの名無しさん
2018/05/01(火) 01:56:50.61ID:sD3/P01t >>102 javascript
var f = s => {
var d = [...new Set(s)]
return d.length == 2
? ((a,b) => ({g:'c',c:'p',p:'g'})[a] == b)(d[0],d[1])
? s.match(new RegExp(d[0],'g')).length
: s.match(new RegExp(d[1],'g')).length
: 0;
}
console.log(f('gccgc')) //=> 2
console.log(f('ggggggg')) //=> 0
console.log(f('cppcppppccpppppc')) //=> 5
console.log(f('cppcppppccpgpppc')) //=> 0
var f = s => {
var d = [...new Set(s)]
return d.length == 2
? ((a,b) => ({g:'c',c:'p',p:'g'})[a] == b)(d[0],d[1])
? s.match(new RegExp(d[0],'g')).length
: s.match(new RegExp(d[1],'g')).length
: 0;
}
console.log(f('gccgc')) //=> 2
console.log(f('ggggggg')) //=> 0
console.log(f('cppcppppccpppppc')) //=> 5
console.log(f('cppcppppccpgpppc')) //=> 0
>>124
>>121 >>exp(x) = Σx^n/n! = e^x
>なんでexp(x)とe^xを比較する議論の前提で、この2つが正しいことを利用してるの?
>循環論法です。破綻しています
いいえ循環論法ではありません
仮定は
exp(z) = Σz^n/n! が z ∈ C で収束すること…@
exp(z1 + z2) = exp(z1)exp(z2), z1, ze ∈C …A
のみです
z = x + jy と置いたとき
exp(z1 + z2) = exp(z1)exp(z2), z1, z2 ∈C…A
が成り立つ前提で
z1 = x, z2 = yj
とおいて
exp(x + yj) = exp(x)exp(yj)
と変形します
もともと exp(z) = Σz^n/n! と置いたのですから
x ∈R のとき、exp(x) = Σz^n/n!
Σx^n/n! = e^x の収束は別途長い議論を経ないといけませんが、ここでは既知としています
最終的には >>121 は
exp(x + jy) = e^x(cos(y) + j・sin(y))
を導きだすのが目的です
>>121 >>exp(x) = Σx^n/n! = e^x
>なんでexp(x)とe^xを比較する議論の前提で、この2つが正しいことを利用してるの?
>循環論法です。破綻しています
いいえ循環論法ではありません
仮定は
exp(z) = Σz^n/n! が z ∈ C で収束すること…@
exp(z1 + z2) = exp(z1)exp(z2), z1, ze ∈C …A
のみです
z = x + jy と置いたとき
exp(z1 + z2) = exp(z1)exp(z2), z1, z2 ∈C…A
が成り立つ前提で
z1 = x, z2 = yj
とおいて
exp(x + yj) = exp(x)exp(yj)
と変形します
もともと exp(z) = Σz^n/n! と置いたのですから
x ∈R のとき、exp(x) = Σz^n/n!
Σx^n/n! = e^x の収束は別途長い議論を経ないといけませんが、ここでは既知としています
最終的には >>121 は
exp(x + jy) = e^x(cos(y) + j・sin(y))
を導きだすのが目的です
127デフォルトの名無しさん
2018/05/01(火) 02:04:42.58ID:MakmSkau 数学荒らし本当うざ…
128デフォルトの名無しさん
2018/05/01(火) 02:12:20.66ID:sD3/P01t >>125
((a,b) => ({g:'c',c:'p',p:'g'})[a] == b)(d[0],d[1])
は単純に
({g:'c',c:'p',p:'g'})[d[0]] == d[1]
でよかった。
最初関数として作ってあったもので単純化し忘れ。
((a,b) => ({g:'c',c:'p',p:'g'})[a] == b)(d[0],d[1])
は単純に
({g:'c',c:'p',p:'g'})[d[0]] == d[1]
でよかった。
最初関数として作ってあったもので単純化し忘れ。
129デフォルトの名無しさん
2018/05/01(火) 02:19:47.25ID:6vH9r7He130デフォルトの名無しさん
2018/05/01(火) 02:24:25.71ID:85dldNJr >>126
>exp(x) = Σx^n/n! = e^x
において e^x = Σx^n/n! と勝手にしているのが結果を先取り(しかも誤謬)していて宜しくないと言っているのです
「複素解析の文脈」では w^z = exp(z*(p.v. log|w| + i*arg(w))) なのです
これは定義です。これが気に食わなくて、どうしても exp(x) = e^x を言いたいのであれば
より妥当性がありwell-definedな w^z の定義を提示してください
繰り返します。あなたは「e^z = exp(z)が成立するように、任意の複素数w, zに対して w^z を定義する」必要があります
>Σx^n/n! = e^x の収束は別途長い議論を経ないといけませんが、ここでは既知としています
Σx^n/n!が収束するだけでは弱くて、
「絶対収束」(絶対に収束するという意味ではありません)を仮定する必要があると言っているんですけど
まあ枝葉末節なので不問とします
>exp(x) = Σx^n/n! = e^x
において e^x = Σx^n/n! と勝手にしているのが結果を先取り(しかも誤謬)していて宜しくないと言っているのです
「複素解析の文脈」では w^z = exp(z*(p.v. log|w| + i*arg(w))) なのです
これは定義です。これが気に食わなくて、どうしても exp(x) = e^x を言いたいのであれば
より妥当性がありwell-definedな w^z の定義を提示してください
繰り返します。あなたは「e^z = exp(z)が成立するように、任意の複素数w, zに対して w^z を定義する」必要があります
>Σx^n/n! = e^x の収束は別途長い議論を経ないといけませんが、ここでは既知としています
Σx^n/n!が収束するだけでは弱くて、
「絶対収束」(絶対に収束するという意味ではありません)を仮定する必要があると言っているんですけど
まあ枝葉末節なので不問とします
>>124
>exp(x)が収束することしか仮定されていないためこの変形は成り立ちません
>きちんと絶対収束(absolute convergence)することを示すか仮定しましょう。
厳しいですね…手元の教科書(高木・解析概論、ただ結構いい加減な本だそうですが)の引き写しなんですが…
虚数単位を j と置いていることからもわかるように、工科系の出自で、厳密な話は苦手です
>なんでここにこんなにつっかかってくるんですかね……
そのようなつもりはなく、純粋に数学的関心から書いているものです
>>123-121 >>113 >>109 >>106 >>103 を見返しても問題はないと思いますが
>あなたはまず複素解析の文脈で任意の実数xに対して exp(x) = (2.7...)^x となる事を証明しなければなりません
>尤も、expは単射なのに対してa^zは多価関数なのでこれらが等しくないことは計算するまでもなく自明なんですが、
exp(z) = exp(z + 2nπj) なので exp(z) は周期関数であることはわかるのですが、
これ以上のことはちょっとわかりません、今日はここまででお休みします
お付き合いくださりありがとうございました
>exp(x)が収束することしか仮定されていないためこの変形は成り立ちません
>きちんと絶対収束(absolute convergence)することを示すか仮定しましょう。
厳しいですね…手元の教科書(高木・解析概論、ただ結構いい加減な本だそうですが)の引き写しなんですが…
虚数単位を j と置いていることからもわかるように、工科系の出自で、厳密な話は苦手です
>なんでここにこんなにつっかかってくるんですかね……
そのようなつもりはなく、純粋に数学的関心から書いているものです
>>123-121 >>113 >>109 >>106 >>103 を見返しても問題はないと思いますが
>あなたはまず複素解析の文脈で任意の実数xに対して exp(x) = (2.7...)^x となる事を証明しなければなりません
>尤も、expは単射なのに対してa^zは多価関数なのでこれらが等しくないことは計算するまでもなく自明なんですが、
exp(z) = exp(z + 2nπj) なので exp(z) は周期関数であることはわかるのですが、
これ以上のことはちょっとわかりません、今日はここまででお休みします
お付き合いくださりありがとうございました
132デフォルトの名無しさん
2018/05/01(火) 02:37:06.62ID:D2CDUI2h >>87
Kotlin
https://paiza.io/projects/lG5nWGdi-n7XwGLr0YAi_A
Javaのライブラリに日付や曜日の計算任せちゃってて自分ではほとんど何もやってません。
Kotlin
https://paiza.io/projects/lG5nWGdi-n7XwGLr0YAi_A
Javaのライブラリに日付や曜日の計算任せちゃってて自分ではほとんど何もやってません。
133デフォルトの名無しさん
2018/05/01(火) 02:39:14.06ID:MakmSkau スレタイも読めない数学荒らしが一族郎党苦しんで死にますように。
134デフォルトの名無しさん
2018/05/01(火) 02:46:03.00ID:6vH9r7He そこまでのろわなくてもよい希ガスるけど、、
数学的お題でもいいけど、明快なお題を出すか、回答を書き込むかを重視し
解釈のかみ合わない議論は程々にした方が医院ジャマイカ
数学的お題でもいいけど、明快なお題を出すか、回答を書き込むかを重視し
解釈のかみ合わない議論は程々にした方が医院ジャマイカ
135デフォルトの名無しさん
2018/05/01(火) 03:31:48.56ID:7ekaWt6m >>117 Emacs Lisp
(defun f (S)
(let ((s 0) (N 0))
(ignore-errors (loop (mapcar (lambda (c) (setq s (1+ (position c S :start s)))) "odai") (incf N)))
N))
(f "odaiodai") 2
(f "ooddaai") 1
(f "idao") 0
(f "ododoadioadioadioadioadioadiodaioadodioadiaodi") 5
(defun f (S)
(let ((s 0) (N 0))
(ignore-errors (loop (mapcar (lambda (c) (setq s (1+ (position c S :start s)))) "odai") (incf N)))
N))
(f "odaiodai") 2
(f "ooddaai") 1
(f "idao") 0
(f "ododoadioadioadioadioadioadiodaioadodioadiaodi") 5
136デフォルトの名無しさん
2018/05/01(火) 04:52:28.26ID:D2CDUI2h137デフォルトの名無しさん
2018/05/01(火) 05:19:23.17ID:D2CDUI2h138デフォルトの名無しさん
2018/05/01(火) 05:47:58.01ID:D2CDUI2h139デフォルトの名無しさん
2018/05/01(火) 07:17:35.34ID:dg2b7E11 >>131
純粋に数学的関心ならもうプログラミング関係ないんだから、適切な板、スレを探してそっちで好きなだけやってこい
純粋に数学的関心ならもうプログラミング関係ないんだから、適切な板、スレを探してそっちで好きなだけやってこい
140デフォルトの名無しさん
2018/05/01(火) 08:38:29.97ID:DfUAZvBS141デフォルトの名無しさん
2018/05/01(火) 09:28:24.04 数学やってる奴は頭悪いってことは分かった
142デフォルトの名無しさん
2018/05/01(火) 09:42:49.56ID:k1G9EgK2 数学は別にいいんだが難しすぎるのはちょっとな
簡単なお題なら個人的に歓迎
簡単なお題なら個人的に歓迎
143デフォルトの名無しさん
2018/05/01(火) 10:53:36.69ID:DfUAZvBS144デフォルトの名無しさん
2018/05/01(火) 11:01:22.65ID:V5+E1IVs >>117 Squeak/Pharo Smalltalk
| fn |
fn := [:str |
| strm odai count |
strm := str readStream.
odai := 'odai' readStream.
count := 0.
[strm atEnd] whileFalse: [
((strm skipTo: odai next) and: [odai atEnd])
ifTrue: [odai reset. count := count + 1]
].
count
].
fn value: 'odaiodai'. "=> 2 "
fn value: 'ooddaai'. "=> 1 "
fn value: 'idao'. "=> 0 "
fn value: 'ododoadioadioadioadioadioadiodaioadodioadiaodi'. "=> 5 "
| fn |
fn := [:str |
| strm odai count |
strm := str readStream.
odai := 'odai' readStream.
count := 0.
[strm atEnd] whileFalse: [
((strm skipTo: odai next) and: [odai atEnd])
ifTrue: [odai reset. count := count + 1]
].
count
].
fn value: 'odaiodai'. "=> 2 "
fn value: 'ooddaai'. "=> 1 "
fn value: 'idao'. "=> 0 "
fn value: 'ododoadioadioadioadioadioadiodaioadodioadiaodi'. "=> 5 "
145デフォルトの名無しさん
2018/05/01(火) 11:23:10.29ID:PxRnJhKl >>102 Squeak/Pharo Smalltalk
| numOfWinnersOf |
numOfWinnersOf := [:jkStr |
| arr set |
arr := jkStr asArray collect: [:chr | 'gcp' indexOf: chr].
(set := arr asSet) size = 2 ifFalse: [0] ifTrue: [
| one other |
one := set anyOne. other := set remove: one; anyOne.
arr occurrencesOf: (one - other \\ 3 = 2 ifTrue: [one] ifFalse: [other])
]
].
numOfWinnersOf value: 'gccgc'. "=> 2 "
numOfWinnersOf value: 'ggggggg'. "=> 0 "
numOfWinnersOf value: 'cppcppppccpppppc'. "=> 5 "
numOfWinnersOf value: 'cppcppppccpgpppc'. "=> 0 "
| numOfWinnersOf |
numOfWinnersOf := [:jkStr |
| arr set |
arr := jkStr asArray collect: [:chr | 'gcp' indexOf: chr].
(set := arr asSet) size = 2 ifFalse: [0] ifTrue: [
| one other |
one := set anyOne. other := set remove: one; anyOne.
arr occurrencesOf: (one - other \\ 3 = 2 ifTrue: [one] ifFalse: [other])
]
].
numOfWinnersOf value: 'gccgc'. "=> 2 "
numOfWinnersOf value: 'ggggggg'. "=> 0 "
numOfWinnersOf value: 'cppcppppccpppppc'. "=> 5 "
numOfWinnersOf value: 'cppcppppccpgpppc'. "=> 0 "
146デフォルトの名無しさん
2018/05/01(火) 11:50:43.04ID:PxRnJhKl >>80 Squeak/Pharo Smalltalk
| fn |
fn := [:ps |
ps asSet size = 4 and: [
ps noneSatisfy: [:p1 |
[:p2 :p3 :p4 |
(p3 - p2 crossProduct: p4 - p2) = 0 or: [p1 insideTriangle: p2 with: p3 with: p4]
] valueWithArguments: (ps copyWithout: p1)
]
]
].
fn value: {0@0. 1@0. 1@1. 0@1}. "=> true "
fn value: {0@0. 1@1. 1@0. 0@1}. "=> true "
fn value: {0@0. 2@0. 1@1. 0@2}. "=> false "
fn value: {0@0. 1@1. 2@2. 3@3}. "=> false "
fn value: {0@0. 0@0. 0@0. 0@0}. "=> false "
| fn |
fn := [:ps |
ps asSet size = 4 and: [
ps noneSatisfy: [:p1 |
[:p2 :p3 :p4 |
(p3 - p2 crossProduct: p4 - p2) = 0 or: [p1 insideTriangle: p2 with: p3 with: p4]
] valueWithArguments: (ps copyWithout: p1)
]
]
].
fn value: {0@0. 1@0. 1@1. 0@1}. "=> true "
fn value: {0@0. 1@1. 1@0. 0@1}. "=> true "
fn value: {0@0. 2@0. 1@1. 0@2}. "=> false "
fn value: {0@0. 1@1. 2@2. 3@3}. "=> false "
fn value: {0@0. 0@0. 0@0. 0@0}. "=> false "
147デフォルトの名無しさん
2018/05/01(火) 12:02:35.06ID:pz418p4m >>117
お題のサンプル程度なら正規表現で十分かと
PowerShell
PS C:\> ([regex]'o.*?d.*?a.*?i.*?').Matches('odaiodai').Count
>>
2
PS C:\> ([regex]'o.*?d.*?a.*?i.*?').Matches('ooddaaii').Count
>>
1
PS C:\> ([regex]'o.*?d.*?a.*?i.*?').Matches('idao').Count
>>
0
PS C:\> ([regex]'o.*?d.*?a.*?i.*?').Matches('ododoadioadioadioadioadioadiodaioadodioadiaodi ').Count
>>
5
お題のサンプル程度なら正規表現で十分かと
PowerShell
PS C:\> ([regex]'o.*?d.*?a.*?i.*?').Matches('odaiodai').Count
>>
2
PS C:\> ([regex]'o.*?d.*?a.*?i.*?').Matches('ooddaaii').Count
>>
1
PS C:\> ([regex]'o.*?d.*?a.*?i.*?').Matches('idao').Count
>>
0
PS C:\> ([regex]'o.*?d.*?a.*?i.*?').Matches('ododoadioadioadioadioadioadiodaioadodioadiaodi ').Count
>>
5
148デフォルトの名無しさん
2018/05/01(火) 12:07:06.40ID:70o2W7dO 文字をATCGにして長さ1億くらいにすればプログラミングっぽくなるんじゃねえの
149デフォルトの名無しさん
2018/05/01(火) 12:28:06.18ID:UGhOjMxe 【安全デマにブーメラン】 山口が自殺したら、次は城島、他のメンバーも酷い運命、食べて応援が応報に
http://rosie.5ch.net/test/read.cgi/liveplus/1525137558/l50
http://rosie.5ch.net/test/read.cgi/liveplus/1525137558/l50
150デフォルトの名無しさん
2018/05/01(火) 12:30:10.65ID:in398Y2z お題
大きさW×Hでポケットのないビリヤード台を想像してください。
左下の座標を(0,0)、右上の座標を(W,H)とします。
位置(0,0)から右上に向かって毎秒(a,b)の速度でボールを射出したとき、
ボールが位置(0,0)に戻ってくるのは何秒後でしょうか?
ボールの大きさや摩擦などは無視します。
[input]
W H a b (すべて正の整数)
[example]
2 4 1 1 -> 8
3 4 2 1 -> 24
4 5 2 4 -> 20
1 2 10 5 -> 0.8
大きさW×Hでポケットのないビリヤード台を想像してください。
左下の座標を(0,0)、右上の座標を(W,H)とします。
位置(0,0)から右上に向かって毎秒(a,b)の速度でボールを射出したとき、
ボールが位置(0,0)に戻ってくるのは何秒後でしょうか?
ボールの大きさや摩擦などは無視します。
[input]
W H a b (すべて正の整数)
[example]
2 4 1 1 -> 8
3 4 2 1 -> 24
4 5 2 4 -> 20
1 2 10 5 -> 0.8
151デフォルトの名無しさん
2018/05/01(火) 13:50:08.69ID:NcJxSmfh 公式があるね。
周期=2WH/gcd(aH,bW)
(gcdは最大公約数)
周期=2WH/gcd(aH,bW)
(gcdは最大公約数)
152デフォルトの名無しさん
2018/05/01(火) 13:56:33.70ID:w7H89JvO >>150 Perl5
use feature 'say';
for (<DATA>) {
chomp;
($W, $H, $a, $b) = split;
($x, $y, $t) = 0x3;
($w, $h) = ($W, $H);
do {
($w, $h) = (2*$w, 2*$h);
($tx, $ty) = ($w/$a, $h/$b);
$t = ($tx < $ty) ? $tx : $ty;
($x, $y) = ($a*$t, $b*$t);
} while ($x % (2*$W) != 0 or $y % (2*$H) != 0);
say "$_ -> $t";
}
__DATA__
2 4 1 1
3 4 2 1
4 5 2 4
1 2 10 5
実行結果
$ perl 11_150.pl
2 4 1 1 -> 8
3 4 2 1 -> 24
4 5 2 4 -> 20
1 2 10 5 -> 0.8
use feature 'say';
for (<DATA>) {
chomp;
($W, $H, $a, $b) = split;
($x, $y, $t) = 0x3;
($w, $h) = ($W, $H);
do {
($w, $h) = (2*$w, 2*$h);
($tx, $ty) = ($w/$a, $h/$b);
$t = ($tx < $ty) ? $tx : $ty;
($x, $y) = ($a*$t, $b*$t);
} while ($x % (2*$W) != 0 or $y % (2*$H) != 0);
say "$_ -> $t";
}
__DATA__
2 4 1 1
3 4 2 1
4 5 2 4
1 2 10 5
実行結果
$ perl 11_150.pl
2 4 1 1 -> 8
3 4 2 1 -> 24
4 5 2 4 -> 20
1 2 10 5 -> 0.8
153デフォルトの名無しさん
2018/05/01(火) 13:59:50.83ID:w7H89JvO154デフォルトの名無しさん
2018/05/01(火) 15:18:38.67ID:V5+E1IVs >>150 Squeak/Pharo Smalltalk
| fn |
fn := [:W :H :a :b |
| time |
time := 2 * W * H / (b * W gcd: a * H).
time isInteger ifTrue: [time] ifFalse: [time asFloat]
].
fn valueWithArguments: #(2 4 1 1). "=> 8 "
fn valueWithArguments: #(3 4 2 1). "=> 24 "
fn valueWithArguments: #(4 5 2 4). "=> 20 "
fn valueWithArguments: #(1 2 10 5). "=> 0.8 "
| fn |
fn := [:W :H :a :b |
| time |
time := 2 * W * H / (b * W gcd: a * H).
time isInteger ifTrue: [time] ifFalse: [time asFloat]
].
fn valueWithArguments: #(2 4 1 1). "=> 8 "
fn valueWithArguments: #(3 4 2 1). "=> 24 "
fn valueWithArguments: #(4 5 2 4). "=> 20 "
fn valueWithArguments: #(1 2 10 5). "=> 0.8 "
155デフォルトの名無しさん
2018/05/01(火) 19:12:45.94ID:sD3/P01t156デフォルトの名無しさん
2018/05/01(火) 20:49:51.17ID:2ktnnBej157デフォルトの名無しさん
2018/05/01(火) 21:15:49.14ID:oZjmv7dj お題
大きさが(X, Y, Z)のナップサックに大きさが(x_i, y_i, z_i)で価値がv_iの荷物を価値の総和が最大になるように詰めたい
X Y Z N
x_1 y_1 z_1 v_1
︙
x_N y_N z_N v_N
と荷物及びナップサックが与えられた時、最大の価値を求めよ
可能ならどれを詰めたかも求めよ
なお荷物は回転させて詰めても良いものとする
大きさが(X, Y, Z)のナップサックに大きさが(x_i, y_i, z_i)で価値がv_iの荷物を価値の総和が最大になるように詰めたい
X Y Z N
x_1 y_1 z_1 v_1
︙
x_N y_N z_N v_N
と荷物及びナップサックが与えられた時、最大の価値を求めよ
可能ならどれを詰めたかも求めよ
なお荷物は回転させて詰めても良いものとする
158デフォルトの名無しさん
2018/05/01(火) 21:36:00.67ID:2ktnnBej159デフォルトの名無しさん
2018/05/01(火) 22:01:39.67ID:bRlEbj+U ナップザックというか箱だなそれ (雑感)
160デフォルトの名無しさん
2018/05/01(火) 22:40:45.68ID:7ekaWt6m お題
政令指定都市名を受け取り, 隣接する区を異なる色になるように塗り分けるのに必要な最少の色数を返す.
f(Sagamihara) => 2
f(Yokohama) => 4
政令指定都市名を受け取り, 隣接する区を異なる色になるように塗り分けるのに必要な最少の色数を返す.
f(Sagamihara) => 2
f(Yokohama) => 4
161デフォルトの名無しさん
2018/05/01(火) 22:43:51.19162片山博文MZ ◆T6xkBnTXz7B0
2018/05/01(火) 22:47:15.06ID:Bi25k6nv non-polynomial
163デフォルトの名無しさん
2018/05/01(火) 22:53:05.87ID:Q2z4i3xl 数学荒らし死ね
164デフォルトの名無しさん
2018/05/01(火) 22:54:11.24ID:RbfjP2ra 自分が理解できないからって数学荒らし呼ばわりは惨めすぎるね
165デフォルトの名無しさん
2018/05/01(火) 23:00:54.97ID:dg2b7E11 >>161
民明書房か
民明書房か
166デフォルトの名無しさん
2018/05/02(水) 00:09:48.80ID:WLxRJQ+g167デフォルトの名無しさん
2018/05/02(水) 00:16:51.78ID:WLxRJQ+g Текущая версия страницы пока не проверялась опытными участниками и может
значительно отличаться от версии, проверенной 11 апреля 2015;
проверки требуют 20 правок.
Бу́ря (шторм) — собирательное понятие, обозначающее очень
сильный ветер (а также сильное волнение на море), возникающий по
различным причинам и в разных областях Земли. Скорость
приземного ветра (на стандартной высоте измерений 6—12 м над
земной поверхностью) при буре составляет, по разным источникам,
15—20 м/с и более (21-25 м/с или 75-88 км/ч). Бури бывают снежные,
песчаные и водные. Скорость ветра при буре гораздо меньше, чем при
урагане, однако буря чаще всего сопровождается переносом песка,
пыли или снега, что приводит к ущербу сельскому хозяйству, путям
сообщения и другим отраслям экономики.
значительно отличаться от версии, проверенной 11 апреля 2015;
проверки требуют 20 правок.
Бу́ря (шторм) — собирательное понятие, обозначающее очень
сильный ветер (а также сильное волнение на море), возникающий по
различным причинам и в разных областях Земли. Скорость
приземного ветра (на стандартной высоте измерений 6—12 м над
земной поверхностью) при буре составляет, по разным источникам,
15—20 м/с и более (21-25 м/с или 75-88 км/ч). Бури бывают снежные,
песчаные и водные. Скорость ветра при буре гораздо меньше, чем при
урагане, однако буря чаще всего сопровождается переносом песка,
пыли или снега, что приводит к ущербу сельскому хозяйству, путям
сообщения и другим отраслям экономики.
168デフォルトの名無しさん
2018/05/02(水) 00:18:35.47ID:WLxRJQ+g Буря может наблюдаться:
при прохождении тропического или внетропического циклона;
при прохождении смерча (тромба, торнадо);
при шквале — кратковременном усилении ветра, связанном с местной или фронтальной грозой.
К бурям по шкале Бофорта относятся ветры скоростью более 20 м/с (9 баллов), а к ураганам — ветры со
скоростью более 32,6 м/с (12 баллов). Кроме того, по этой шкале различают:
сильную бурю со скоростью 24,5-28,4 м/с (10 баллов);
жестокую бурю со скоростью 28,5-32,6 м/с (11 баллов).
при прохождении тропического или внетропического циклона;
при прохождении смерча (тромба, торнадо);
при шквале — кратковременном усилении ветра, связанном с местной или фронтальной грозой.
К бурям по шкале Бофорта относятся ветры скоростью более 20 м/с (9 баллов), а к ураганам — ветры со
скоростью более 32,6 м/с (12 баллов). Кроме того, по этой шкале различают:
сильную бурю со скоростью 24,5-28,4 м/с (10 баллов);
жестокую бурю со скоростью 28,5-32,6 м/с (11 баллов).
169デフォルトの名無しさん
2018/05/02(水) 00:19:06.57ID:WLxRJQ+g Термин «ураган» имеет также более узкое значение — тропический циклон. По месту образования тропические циклоны делят на:
Субтропический шторм
Тропический шторм
Ураган (Атлантический океан)
Тайфун (Тихий океан)
Если скорость ветра в тропическом циклоне превышает 60 км/ч, ему присваивается собственное имя.
Субтропический шторм
Тропический шторм
Ураган (Атлантический океан)
Тайфун (Тихий океан)
Если скорость ветра в тропическом циклоне превышает 60 км/ч, ему присваивается собственное имя.
170デフォルトの名無しさん
2018/05/02(水) 00:20:01.14ID:WLxRJQ+g По мнению американских учёных, для областей, расположенных в
северных широтах, снежной бурей можно считать зимний сильный
ветер, во время которого скорость ветра достигает и превышает 15 м/с (56 км/ч).
При этом температура воздуха опускается до −7 °C и ниже.
Территория распространения снежной бури может быть сколь угодно обширной.
северных широтах, снежной бурей можно считать зимний сильный
ветер, во время которого скорость ветра достигает и превышает 15 м/с (56 км/ч).
При этом температура воздуха опускается до −7 °C и ниже.
Территория распространения снежной бури может быть сколь угодно обширной.
171デフォルトの名無しさん
2018/05/02(水) 00:32:41.39ID:Ahv/tBZs 数学は少なくとも話してる本人は内容を理解している
一方お前のクソみたいなロシア語はお前はその内容を理解していない
一つ聞くが、お前がコピペした文章の中には原意が支配するという意味のロシア語の単語が出てくるが、
その単語の性数態をお前は適切にこたえられるか?
答えられないだろうな。奇を衒って知りもしない外国語の文章をコピペしただけなんだから
一方お前のクソみたいなロシア語はお前はその内容を理解していない
一つ聞くが、お前がコピペした文章の中には原意が支配するという意味のロシア語の単語が出てくるが、
その単語の性数態をお前は適切にこたえられるか?
答えられないだろうな。奇を衒って知りもしない外国語の文章をコピペしただけなんだから
172デフォルトの名無しさん
2018/05/02(水) 00:46:25.46ID:bQ3xZw0Z >>157
これは普通のナップザック問題と違って、荷物を積む積まないの選択肢のみならず
それに加えナップザック中に残されているスペースの形状・大きさ、
荷物を積むならば配置する向きと位置
そういったすべての条件の組み合わせに配慮して、最終価値最大の解を探索せねばならず、
単に荷物の重さと価値のみに着目して動的計画法で価値最大化プログラムをちょいちょいと書く
ような課題とは全然違った難しさがあるな…
これは普通のナップザック問題と違って、荷物を積む積まないの選択肢のみならず
それに加えナップザック中に残されているスペースの形状・大きさ、
荷物を積むならば配置する向きと位置
そういったすべての条件の組み合わせに配慮して、最終価値最大の解を探索せねばならず、
単に荷物の重さと価値のみに着目して動的計画法で価値最大化プログラムをちょいちょいと書く
ような課題とは全然違った難しさがあるな…
173デフォルトの名無しさん
2018/05/02(水) 00:47:08.25ID:WLxRJQ+g なるほど。じゃ落語で埋めてくわ。
本人が理解してりゃスレ違いでもいいらしいからな。
本人が理解してりゃスレ違いでもいいらしいからな。
174デフォルトの名無しさん
2018/05/02(水) 00:49:53.30ID:Ahv/tBZs >>173
数学が理解できなくてそんなに悔しかった??
自分がロシア語も理解できないのにコピペしたのがバレてそんなに悔しかった??
本当に惨めだね。あ、僕は落語なら浜野矩随が好きだからよろしくね、ど低能くん^^
数学が理解できなくてそんなに悔しかった??
自分がロシア語も理解できないのにコピペしたのがバレてそんなに悔しかった??
本当に惨めだね。あ、僕は落語なら浜野矩随が好きだからよろしくね、ど低能くん^^
175デフォルトの名無しさん
2018/05/02(水) 00:50:17.20ID:WLxRJQ+g こんな話がございます。
両国の回向院に猫塚トいうものがございます。
猫が死にますト、飼い主が回向料とともに、猫の亡骸を持ち込みまして。
寺の僧侶がお経を読んで、猫を葬ってくれるという。
これは、この塚に最初に入ったという猫の話でございます。
八丁堀の玉子屋新道に、魚屋を営む定吉ト申す者がございました。
もっとも、魚屋とは名ばかりで、その実は博奕打ちでございます。
毎日を遊んで暮らしている。
両国の回向院に猫塚トいうものがございます。
猫が死にますト、飼い主が回向料とともに、猫の亡骸を持ち込みまして。
寺の僧侶がお経を読んで、猫を葬ってくれるという。
これは、この塚に最初に入ったという猫の話でございます。
八丁堀の玉子屋新道に、魚屋を営む定吉ト申す者がございました。
もっとも、魚屋とは名ばかりで、その実は博奕打ちでございます。
毎日を遊んで暮らしている。
176デフォルトの名無しさん
2018/05/02(水) 00:50:56.06ID:WLxRJQ+g この日も、朝湯の帰りに馴染みの三河屋という居酒屋に立ち寄りまして。
風呂あがりの一杯とばかりに、呑気に引っ掛けておりますト。
ポカッ、ポカッと、頭の上から妙な音が聞こえてくる。
博奕打ちというのは、我々とはものの考え方が異なっているようで。
――板に何かを叩きつける音がする。
なるほど、やってやがるな――
風呂あがりの一杯とばかりに、呑気に引っ掛けておりますト。
ポカッ、ポカッと、頭の上から妙な音が聞こえてくる。
博奕打ちというのは、我々とはものの考え方が異なっているようで。
――板に何かを叩きつける音がする。
なるほど、やってやがるな――
177デフォルトの名無しさん
2018/05/02(水) 00:51:47.73ID:WLxRJQ+g ト、てっきり丁半博打の壺を伏せる音と勘違いいたしまして。
「おい、六さん」
店の者を呼びつけます。
「なんだい、水臭えじゃねえか。やってるならやってるで、教えてくれてもいいだろうに。俺も仲間に入れてくれ。取り次いでくんなよ」
「博奕ですか。滅相もない。うちではそういったことはさせません。二階は物置ですよ」
「おい、六さん」
店の者を呼びつけます。
「なんだい、水臭えじゃねえか。やってるならやってるで、教えてくれてもいいだろうに。俺も仲間に入れてくれ。取り次いでくんなよ」
「博奕ですか。滅相もない。うちではそういったことはさせません。二階は物置ですよ」
178デフォルトの名無しさん
2018/05/02(水) 00:53:01.26ID:WLxRJQ+g それでも、確かに音がするのは妙でございます。
店の者が二階へ上がっていって、やがて下りてまいりました。
「分かりました。あれは猫です」
こういった店は、商売柄、どうしても猫が寄ってくる。
今朝も早くに仕入れておいたイナダを、勝手に食ってしまったそうで。
あんまり腹が立つから、焼け火箸で目玉を刺してやろうかとも思ったが。
店の主人が、せめて橋の上から放り投げる程度にしてやれと言ったという。
店の者が二階へ上がっていって、やがて下りてまいりました。
「分かりました。あれは猫です」
こういった店は、商売柄、どうしても猫が寄ってくる。
今朝も早くに仕入れておいたイナダを、勝手に食ってしまったそうで。
あんまり腹が立つから、焼け火箸で目玉を刺してやろうかとも思ったが。
店の主人が、せめて橋の上から放り投げる程度にしてやれと言ったという。
179デフォルトの名無しさん
2018/05/02(水) 00:54:13.04ID:WLxRJQ+g 「それで柱にふん縛っておいたんですがね。今、見に行ったら、なんとか逃げ出そうとして、立ち上がっては倒れてやがる。あれはその音ですよ」
定吉は柄にもなく、猫がちょっと不憫に思えまして。
死なせるくらいなら、自分が引き取って育てるからト。
金を渡して猫を貰い受けました。
差し毛の一本も見当たらない、正真正銘の黒猫です。
定吉は懐に入れるト、店を出て家に帰った。
定吉は柄にもなく、猫がちょっと不憫に思えまして。
死なせるくらいなら、自分が引き取って育てるからト。
金を渡して猫を貰い受けました。
差し毛の一本も見当たらない、正真正銘の黒猫です。
定吉は懐に入れるト、店を出て家に帰った。
180デフォルトの名無しさん
2018/05/02(水) 00:54:44.10ID:WLxRJQ+g 家では女房のお滝が待っています。
定吉が懐から黒猫を取り出しますト、途端に渋い顔を浮かべまして。
「やだよ、そんなものを持って帰って。私は猫は嫌いなんだよ」
ト、そっぽを向いて風呂に行ってしまう。
定吉は、自分が命を救ってやった猫ですから。
恩を着せるわけではないが、やはり可愛い。
一人残った家の中で、猫を抱き上げて話しかける。
定吉が懐から黒猫を取り出しますト、途端に渋い顔を浮かべまして。
「やだよ、そんなものを持って帰って。私は猫は嫌いなんだよ」
ト、そっぽを向いて風呂に行ってしまう。
定吉は、自分が命を救ってやった猫ですから。
恩を着せるわけではないが、やはり可愛い。
一人残った家の中で、猫を抱き上げて話しかける。
181デフォルトの名無しさん
2018/05/02(水) 00:55:53.83ID:WLxRJQ+g 「そういや、名前を聞いてこなかったな。大抵の猫ならタマとかミケとか付けるんだが、お前はそんなガラじゃねえ。全身真っ黒で、熊みてえだもんな。そうだ。クマってのはどうだ」
するト、猫がにゃーごト鳴く。
「にゃーごだと。ヘヘ。鳴かなくていいから、恩返しのひとつでもしてみろよ。俺をちょっとは儲けさせてくれたら、拾った甲斐もあるってもんだ」
ト、猫に博奕の講釈をいたします。
するト、猫がにゃーごト鳴く。
「にゃーごだと。ヘヘ。鳴かなくていいから、恩返しのひとつでもしてみろよ。俺をちょっとは儲けさせてくれたら、拾った甲斐もあるってもんだ」
ト、猫に博奕の講釈をいたします。
182デフォルトの名無しさん
2018/05/02(水) 00:57:44.85ID:WLxRJQ+g 「一つでやるのをチョボイチ、 二つ使うのを丁半、三つ使うのをきつねと言う。俺がやってるのは丁半だ。グニの半、二ゾロの丁ってな」
定吉は賽を湯のみに入れて、畳の上に伏せますト。
「どうだ。表から見たらどの目か分からないだろう。だから、銭を賭けて当てるんだ。猫は魔物というから、お前なら当てられるだろう。おい、なんとか言ってみろよ」
猫は相変わらず、にゃーごト鳴く。
定吉は賽を湯のみに入れて、畳の上に伏せますト。
「どうだ。表から見たらどの目か分からないだろう。だから、銭を賭けて当てるんだ。猫は魔物というから、お前なら当てられるだろう。おい、なんとか言ってみろよ」
猫は相変わらず、にゃーごト鳴く。
183デフォルトの名無しさん
2018/05/02(水) 00:58:41.40ID:WLxRJQ+g 「俺は、丁が出ると思うな。お前は何だ。にゃーごか。よし、俺が丁で、お前がにゃーご。勝負ッ」
ト、戯れながら湯呑みを開けますト、一二の半。
「おかしいな、半か。するってえと、お前のにゃーごは半か。ヘヘ、にゃご半か。それじゃあ今度は俺が半だ」
すると、今度は猫がにゃご、にゃごト、二回鳴く。
ト、戯れながら湯呑みを開けますト、一二の半。
「おかしいな、半か。するってえと、お前のにゃーごは半か。ヘヘ、にゃご半か。それじゃあ今度は俺が半だ」
すると、今度は猫がにゃご、にゃごト、二回鳴く。
184デフォルトの名無しさん
2018/05/02(水) 00:59:18.14ID:WLxRJQ+g 「なんだい、妙な鳴き方をしやがる。今度はにゃごにゃごの丁ってか」
ト、笑いながら湯呑みを開けるト、二ゾロの丁。
それから何度繰り返してみましても、猫がにゃーごと鳴くと半。
にゃごにゃごト、二回鳴くと丁が出ます。
「お前、本当に恩返ししてくれるつもりだな。こいつはいい」
ト、笑いながら湯呑みを開けるト、二ゾロの丁。
それから何度繰り返してみましても、猫がにゃーごと鳴くと半。
にゃごにゃごト、二回鳴くと丁が出ます。
「お前、本当に恩返ししてくれるつもりだな。こいつはいい」
185デフォルトの名無しさん
2018/05/02(水) 01:00:01.79ID:WLxRJQ+g それから定吉は、賭場へ行くたびにこの猫を懐に忍ばせていく。
にゃーごの半、にゃごにゃごの丁で、どんどん金が儲かりまして。
羽振りがよくなるト、兄い、親分と立てられるようになる。
猫を始終連れて歩くので、そのうちに猫定と呼ばれるようになった。
にゃーごの半、にゃごにゃごの丁で、どんどん金が儲かりまして。
羽振りがよくなるト、兄い、親分と立てられるようになる。
猫を始終連れて歩くので、そのうちに猫定と呼ばれるようになった。
186デフォルトの名無しさん
2018/05/02(水) 01:03:08.53ID:WLxRJQ+g 博徒の世界では、あだ名がついたら一人前ト申すそうでございますが。
一人前になるト、自然、悪評も目立つようになる。
そのうちに江戸にいられなくなり、ふた月ばかり旅に出ることにいたしまして。
定吉は、猫を女房に預けて家を出た。
これが惨劇の幕開けでございます。
――チョット、一息つきまして。
一人前になるト、自然、悪評も目立つようになる。
そのうちに江戸にいられなくなり、ふた月ばかり旅に出ることにいたしまして。
定吉は、猫を女房に預けて家を出た。
これが惨劇の幕開けでございます。
――チョット、一息つきまして。
187デフォルトの名無しさん
2018/05/02(水) 01:03:26.56ID:bQ3xZw0Z 数学厨よりひどいあらしだな
スレが機能しなくなっちゃった
スレが機能しなくなっちゃった
188デフォルトの名無しさん
2018/05/02(水) 01:04:21.64ID:WLxRJQ+g どこまでお話しましたか。
そうそう、博奕打ちの定吉が、猫の鳴き声で賽の目を当て、兄い、親分ト立てられるようになるところまでで――。
亭主の定吉が家を空けますト。
女房のお滝は、子分の若い者を家に引き入れるようになりまして。
長屋の住人たちが眉をひそめるのも、まったく気にしておりません。
そうそう、博奕打ちの定吉が、猫の鳴き声で賽の目を当て、兄い、親分ト立てられるようになるところまでで――。
亭主の定吉が家を空けますト。
女房のお滝は、子分の若い者を家に引き入れるようになりまして。
長屋の住人たちが眉をひそめるのも、まったく気にしておりません。
189デフォルトの名無しさん
2018/05/02(水) 01:13:03.09ID:p96PUqzp 数学ができないやつは論理的思考もできないということを示す良い例だな
頼むからスレから未来永劫消えてくれ
頼むからスレから未来永劫消えてくれ
190デフォルトの名無しさん
2018/05/02(水) 01:17:36.33ID:bQ3xZw0Z いてもいいけど荒らすな
お題を出し
解答プログラムを書くこと
お題を出し
解答プログラムを書くこと
191デフォルトの名無しさん
2018/05/02(水) 01:21:54.54ID:Ahv/tBZs あの〜続きが気になるから http://onboumaru.com/049-nekosada から無断転載した「猫定」を
最後まで張ってくださいませんか?? 無能ロシア語落語さん^^
最後まで張ってくださいませんか?? 無能ロシア語落語さん^^
192デフォルトの名無しさん
2018/05/02(水) 01:22:07.91ID:WLxRJQ+g 自分が理解できれば何を書いてもいいというのは数学厨が示したルールだが。
文句を言われたらこう言って開き直ればいいそうだ。
「自分が理解できないからって荒らし呼ばわりは惨めすぎるね」
文句を言われたらこう言って開き直ればいいそうだ。
「自分が理解できないからって荒らし呼ばわりは惨めすぎるね」
193デフォルトの名無しさん
2018/05/02(水) 01:23:03.68ID:bQ3xZw0Z 勘弁してくれよ
それこそよそでやってくれ
それこそよそでやってくれ
194デフォルトの名無しさん
2018/05/02(水) 01:23:13.12ID:WLxRJQ+g195デフォルトの名無しさん
2018/05/02(水) 01:24:29.12ID:WLxRJQ+g そのうちに、人の噂も七十五日トばかりに。
ほとぼりが覚めた頃を見計らって、定吉が江戸に帰ってくる。
帰ってくるト、猫を連れてまたぞろ博奕へ出掛けます。
その夜。
お滝は、間男の若い者を呼びつけ、相談をした。
定吉がいては、お互い落ち着いて逢瀬を楽しむこともままならない。
いっそ、ひと思いに殺してしまってほしい。
ほとぼりが覚めた頃を見計らって、定吉が江戸に帰ってくる。
帰ってくるト、猫を連れてまたぞろ博奕へ出掛けます。
その夜。
お滝は、間男の若い者を呼びつけ、相談をした。
定吉がいては、お互い落ち着いて逢瀬を楽しむこともままならない。
いっそ、ひと思いに殺してしまってほしい。
196デフォルトの名無しさん
2018/05/02(水) 01:24:49.92ID:p96PUqzp197デフォルトの名無しさん
2018/05/02(水) 01:25:10.76ID:WLxRJQ+g 若い者は、親分の家の姉御に見込まれたことで、男が上がったつもりになり。
箒を斜に切って油をかけ、ジリジリと火で炙る。
これは竹槍を作っているのでございます。
そうして、鯵切り包丁を手ぬぐいで包みますト。
腰に差して、長屋を飛び出していきました。
定吉は、馴染みの賭場へやってきておりましたが。
その晩はどうしたことか、猫が一向に鳴きません。
箒を斜に切って油をかけ、ジリジリと火で炙る。
これは竹槍を作っているのでございます。
そうして、鯵切り包丁を手ぬぐいで包みますト。
腰に差して、長屋を飛び出していきました。
定吉は、馴染みの賭場へやってきておりましたが。
その晩はどうしたことか、猫が一向に鳴きません。
198デフォルトの名無しさん
2018/05/02(水) 01:26:10.04ID:WLxRJQ+g 体の具合が悪いのだろうか。
まあ、今まで稼がせてもらったのだから。
ト、この時にはすでに情が移っておりますから。
猫の具合を優先して、素直に帰ることにいたしました。
賭場を出るト、ポツポツと雨が降り出してくる。
定吉は猫を懐に大事にしまって、新橋の喜多川といううなぎ屋に駆け込んだ。
一杯やりながら、猫に鰻の切れ端をやるのが、この頃の楽しみでございます。
ところが、いつもはよく食う猫が、これまた今日に限って口をつけようといたしません。
まあ、今まで稼がせてもらったのだから。
ト、この時にはすでに情が移っておりますから。
猫の具合を優先して、素直に帰ることにいたしました。
賭場を出るト、ポツポツと雨が降り出してくる。
定吉は猫を懐に大事にしまって、新橋の喜多川といううなぎ屋に駆け込んだ。
一杯やりながら、猫に鰻の切れ端をやるのが、この頃の楽しみでございます。
ところが、いつもはよく食う猫が、これまた今日に限って口をつけようといたしません。
199デフォルトの名無しさん
2018/05/02(水) 01:28:05.76ID:WLxRJQ+g 続きを張れと言ったのは数学厨な。
200デフォルトの名無しさん
2018/05/02(水) 01:29:36.61ID:p96PUqzp 責任転嫁すんなハゲ
お前のせいで直近のお題が迷子だっつーの
もう二度とこないでください
お前のせいで直近のお題が迷子だっつーの
もう二度とこないでください
201デフォルトの名無しさん
2018/05/02(水) 02:28:44.50ID:/DSye1oK >>200
お前さんがやってる煽りも、ロシア語はってるいじけた小学生みたいな奴と同じレベルだよ。数学ができたとしても精神レベルは同程度。お前さんにどんな言い分があろうとも、周囲からはそう見える。
お前さんがやってる煽りも、ロシア語はってるいじけた小学生みたいな奴と同じレベルだよ。数学ができたとしても精神レベルは同程度。お前さんにどんな言い分があろうとも、周囲からはそう見える。
202デフォルトの名無しさん
2018/05/02(水) 02:46:19.96ID:7KO0UxVX 重み付き3次元箱詰め問題みたいなもんをここのお題に出すバカ
各都市の区の具体的なグラフが必要な問題をそれぞれのグラフも与えずに出すバカ
自分で解いて楽しいかどうか考えろよ
各都市の区の具体的なグラフが必要な問題をそれぞれのグラフも与えずに出すバカ
自分で解いて楽しいかどうか考えろよ
203デフォルトの名無しさん
2018/05/02(水) 02:57:52.71ID:MBc9Gfy6 出題時の注意>>4
204デフォルトの名無しさん
2018/05/02(水) 02:59:10.33ID:bQ3xZw0Z そら言えてる
205デフォルトの名無しさん
2018/05/02(水) 03:36:28.18ID:XZO+Bco0 お題が流れたみたいなのでリンクまとめ
>>11
"073:0" -> 18
"07362:450" -> 36
"06464:36470" -> 42
"0827171:28480" -> 66
"0737491:28180" -> 146
"05374734372747484:184618186912120" -> ?
>>40
[-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]
>>77
"213cba213cba213cba" -> "213aaa213bbb213ccc"
>>102
gccgc -> 2
ggggggg -> 0
cppcppppccpppppc -> 5
cppcppppccpgpppc -> 0
>>117
odaiodai -> 2
ooddaai -> 1
idao -> 0
ododoadioadioadioadioadioadiodaioadodioadiaodi -> ?
>>11
"073:0" -> 18
"07362:450" -> 36
"06464:36470" -> 42
"0827171:28480" -> 66
"0737491:28180" -> 146
"05374734372747484:184618186912120" -> ?
>>40
[-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]
>>77
"213cba213cba213cba" -> "213aaa213bbb213ccc"
>>102
gccgc -> 2
ggggggg -> 0
cppcppppccpppppc -> 5
cppcppppccpgpppc -> 0
>>117
odaiodai -> 2
ooddaai -> 1
idao -> 0
ododoadioadioadioadioadioadiodaioadodioadiaodi -> ?
206デフォルトの名無しさん
2018/05/02(水) 05:46:42.10ID:hUDFoTxj お題:Hello, World!を10回出力してください。ただし、偶数文字を小文字、奇数文字を大文字にすること。さらに3の倍数の文字をランダムな英字にすること。
207デフォルトの名無しさん
2018/05/02(水) 07:40:02.20ID:bQ3xZw0Z >>206 Perl5
use feature 'say';
@s = split'','Hello, World!';
@Az = ('A'..'Z', 'a'..'z');
for $i (0..9) {
do {$s[$_ - 1] = $Az[int(rand(@Az))]
if $_ % 3 == 0} for 1..@s;
my @t;
push @t, $i % 2 ? lc $c : uc $c
while ($i, $c) = each @s;
say @t;
}
実行結果
$ perl 11_206.pl
HeHlOg wQrLz!
HeOlOp wOrLo!
HeAlOh wMrLf!
HeZlOs wJrLz!
HeElOh wBrLg!
HeBlOa wIrLy!
HeFlOw wCrLb!
HeTlOc wSrLp!
HeOlOm wNrLx!
HeJlOt wSrLl!
use feature 'say';
@s = split'','Hello, World!';
@Az = ('A'..'Z', 'a'..'z');
for $i (0..9) {
do {$s[$_ - 1] = $Az[int(rand(@Az))]
if $_ % 3 == 0} for 1..@s;
my @t;
push @t, $i % 2 ? lc $c : uc $c
while ($i, $c) = each @s;
say @t;
}
実行結果
$ perl 11_206.pl
HeHlOg wQrLz!
HeOlOp wOrLo!
HeAlOh wMrLf!
HeZlOs wJrLz!
HeElOh wBrLg!
HeBlOa wIrLy!
HeFlOw wCrLb!
HeTlOc wSrLp!
HeOlOm wNrLx!
HeJlOt wSrLl!
208デフォルトの名無しさん
2018/05/02(水) 09:59:45.49ID:hcdKMJ5x >>206 Squeak/Pharo Smalltalk
Transcript open.
10 timesRepeat: [
| hello |
hello := 'Hello, World!' collectWithIndex: [:chr :idx |
((idx isDivisibleBy: 3) ifTrue: [Character alphabet atRandom] ifFalse: [chr])
perform: (idx even ifTrue: [#asLowercase] ifFalse: [#asUppercase])
].
Transcript cr; show: hello
]
=> HeYlOz wJrLp!
HeNlOe wArLr!
HeBlOn wWrLi!
HeSlOx wOrLk!
HeKlOy wRrLb!
HeIlOs wJrLw!
HeMlOd wGrLm!
HeElOz wLrLf!
HeJlOw wUrLr!
HeTlOe wMrLy!
Transcript open.
10 timesRepeat: [
| hello |
hello := 'Hello, World!' collectWithIndex: [:chr :idx |
((idx isDivisibleBy: 3) ifTrue: [Character alphabet atRandom] ifFalse: [chr])
perform: (idx even ifTrue: [#asLowercase] ifFalse: [#asUppercase])
].
Transcript cr; show: hello
]
=> HeYlOz wJrLp!
HeNlOe wArLr!
HeBlOn wWrLi!
HeSlOx wOrLk!
HeKlOy wRrLb!
HeIlOs wJrLw!
HeMlOd wGrLm!
HeElOz wLrLf!
HeJlOw wUrLr!
HeTlOe wMrLy!
209デフォルトの名無しさん
2018/05/02(水) 10:26:22.57ID:PqZlWADT210デフォルトの名無しさん
2018/05/02(水) 11:55:19.15211デフォルトの名無しさん
2018/05/02(水) 12:51:34.17ID:lkl981AK お題
N項目のレーダーチャートを考える。
各項目の点数が配列A[N]で与えられるので、
項目の並べ方を調整して、レーダーチャートの面積を最大化せよ。
※レーダーチャートの形状は正N角形であり、A[i]は中心からの距離を意味する。
{4,3,2,1,0}
=> 10.9371 //{0,1,3,4,2}
{10,0,0,10,10,0,10,10}
=> 141.421 //{0,0,0,10,10,10,10,10}
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
=> 280.698
N項目のレーダーチャートを考える。
各項目の点数が配列A[N]で与えられるので、
項目の並べ方を調整して、レーダーチャートの面積を最大化せよ。
※レーダーチャートの形状は正N角形であり、A[i]は中心からの距離を意味する。
{4,3,2,1,0}
=> 10.9371 //{0,1,3,4,2}
{10,0,0,10,10,0,10,10}
=> 141.421 //{0,0,0,10,10,10,10,10}
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
=> 280.698
212デフォルトの名無しさん
2018/05/02(水) 12:58:12.60ID:Zqd7NSI/ >>206 Emacs Lisp
(defun* f (a &aux (b 0))
(map 'string (lambda (c) (let ((d (if (= (% (incf b) 3) 0) (+ ?a (random 26)) c))) (if (oddp b) (upcase d) (downcase d)))) a))
(mapc (lambda (x) (princ (funcall #'f x)) (terpri)) (make-list 10 "Hello, World!"))
HeElOf wBrLb!
HeAlOj wYrLk!
HeZlOz wQrLd!
HeBlOh wIrLm!
HeMlOy wIrLb!
HeZlOo wTrLk!
HeRlOq wErLv!
HeFlOn wKrLq!
HeAlOg wQrLv!
HeFlOa wRrLi!
(defun* f (a &aux (b 0))
(map 'string (lambda (c) (let ((d (if (= (% (incf b) 3) 0) (+ ?a (random 26)) c))) (if (oddp b) (upcase d) (downcase d)))) a))
(mapc (lambda (x) (princ (funcall #'f x)) (terpri)) (make-list 10 "Hello, World!"))
HeElOf wBrLb!
HeAlOj wYrLk!
HeZlOz wQrLd!
HeBlOh wIrLm!
HeMlOy wIrLb!
HeZlOo wTrLk!
HeRlOq wErLv!
HeFlOn wKrLq!
HeAlOg wQrLv!
HeFlOa wRrLi!
213デフォルトの名無しさん
2018/05/02(水) 16:46:53.87ID:Zqd7NSI/ >>211 Emacs Lisp
(defun* f (a &aux b c)
(loop for i from 0 below (length a) do
(if (< i 3)
(setq b (append b (list (nth i a))))
(dotimes (n (length b))
(push (cons (+ (abs (- (nth n b) (nth i a))) (abs (- (nth (% (1+ n) (length b)) b) (nth i a)))) n) c))
(let ((d (1+ (cdar (sort (copy-seq c) (lambda (a b) (< (car a) (car b))))))))
(setq b (append (subseq b 0 d) (list (nth i a)) (nthcdr d b))))))
b)
(defun g (a)
(flet ((b (c d e)
(when (> c d) (rotatef c d))
(if (= d 0) 0.0 (* d (sin (/ pi e)) d (cos (/ pi e)) c (/ (float d))))))
(let ((h (length a)) (i 0.0))
(dotimes (n h)
(incf i (apply #'b (list (nth n a) (nth (% (1+ n) h) a) h))))
i)))
(f '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)) => (1 2 4 6 8 10 12 14 16 15 13 11 9 7 5 3)
(g (f '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16))) => 280.69829763979334
(defun* f (a &aux b c)
(loop for i from 0 below (length a) do
(if (< i 3)
(setq b (append b (list (nth i a))))
(dotimes (n (length b))
(push (cons (+ (abs (- (nth n b) (nth i a))) (abs (- (nth (% (1+ n) (length b)) b) (nth i a)))) n) c))
(let ((d (1+ (cdar (sort (copy-seq c) (lambda (a b) (< (car a) (car b))))))))
(setq b (append (subseq b 0 d) (list (nth i a)) (nthcdr d b))))))
b)
(defun g (a)
(flet ((b (c d e)
(when (> c d) (rotatef c d))
(if (= d 0) 0.0 (* d (sin (/ pi e)) d (cos (/ pi e)) c (/ (float d))))))
(let ((h (length a)) (i 0.0))
(dotimes (n h)
(incf i (apply #'b (list (nth n a) (nth (% (1+ n) h) a) h))))
i)))
(f '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)) => (1 2 4 6 8 10 12 14 16 15 13 11 9 7 5 3)
(g (f '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16))) => 280.69829763979334
216デフォルトの名無しさん
2018/05/02(水) 17:52:43.41ID:ja0hTifx >>211
J
山型に並べるだけ。
証明は略
(谷がある並び順は谷底を移動してより大きく出来ることが示せる。
谷がない場合、頂上から左右に振り分けて行くのが最大と示せる)
NB. sin α
sinA =: 1&o.@((o.2)&%)@#
NB. ズラして掛けた総和
s =: +/@(*(}.@,{.))"1
NB. 山型に並べる
raz =: (/:[)/:(/:+/@(* ,~/"1)@(*\)@i.@#)
NB. 山型に並べてズラして掛けた総和にsinα掛けて半分にする
ans =: -:@(sinA*(s@raz))
1行で書くと
ans =: -:@(1&o.@((o.2)&%)@#*+/@(*(}.@, {.))"1@((/:[)/:(/:+/@(*,~/"1)@(*\)@i.@#)))
実行例
ans 4 3 2 1 0
10.9371
ans 10 0 0 10 10 0 10 10
106.066
ans 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
280.698
https://%62it.ly/2jlIjeo
J
山型に並べるだけ。
証明は略
(谷がある並び順は谷底を移動してより大きく出来ることが示せる。
谷がない場合、頂上から左右に振り分けて行くのが最大と示せる)
NB. sin α
sinA =: 1&o.@((o.2)&%)@#
NB. ズラして掛けた総和
s =: +/@(*(}.@,{.))"1
NB. 山型に並べる
raz =: (/:[)/:(/:+/@(* ,~/"1)@(*\)@i.@#)
NB. 山型に並べてズラして掛けた総和にsinα掛けて半分にする
ans =: -:@(sinA*(s@raz))
1行で書くと
ans =: -:@(1&o.@((o.2)&%)@#*+/@(*(}.@, {.))"1@((/:[)/:(/:+/@(*,~/"1)@(*\)@i.@#)))
実行例
ans 4 3 2 1 0
10.9371
ans 10 0 0 10 10 0 10 10
106.066
ans 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
280.698
https://%62it.ly/2jlIjeo
217デフォルトの名無しさん
2018/05/02(水) 18:09:55.15ID:ja0hTifx >>211
J 一応総当たりも (sinA, s は同じ)
all =: A.~(i.@!@<:@#)
min =: >./
ans2 =: -:@((sinA)*(min@(s@all)))
実行例
ans2 4 3 2 1 0
10.9371
ans2 10 0 0 10 10 0 10 10
141.421
ans2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|out of memory: all
| ans2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
J 一応総当たりも (sinA, s は同じ)
all =: A.~(i.@!@<:@#)
min =: >./
ans2 =: -:@((sinA)*(min@(s@all)))
実行例
ans2 4 3 2 1 0
10.9371
ans2 10 0 0 10 10 0 10 10
141.421
ans2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|out of memory: all
| ans2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
218デフォルトの名無しさん
2018/05/02(水) 18:10:22.50ID:TAWRfgOr219デフォルトの名無しさん
2018/05/02(水) 18:11:53.98ID:ja0hTifx あれ?バグってるなこれ
総当たりの方は取り消します
総当たりの方は取り消します
220デフォルトの名無しさん
2018/05/02(水) 18:20:29.66ID:ja0hTifx 違った
山型に並べる方を取り消します、だった。
山型に並べる方を取り消します、だった。
221デフォルトの名無しさん
2018/05/02(水) 18:27:52.12ID:ja0hTifx >>216
正しくはこうでした
sinA =: 1&o.@((o.2)&%)@#
s =: +/@(*(}.@,{.))"1
raz =: ((\: [) {~ (/: (* <:@(2&*)@(2&|)))@i.@#)
ans =: -:@(sinA*(s@raz))
1行にするのは略
https://%62it.ly/2w3XF0m
正しくはこうでした
sinA =: 1&o.@((o.2)&%)@#
s =: +/@(*(}.@,{.))"1
raz =: ((\: [) {~ (/: (* <:@(2&*)@(2&|)))@i.@#)
ans =: -:@(sinA*(s@raz))
1行にするのは略
https://%62it.ly/2w3XF0m
222デフォルトの名無しさん
2018/05/02(水) 19:04:01.98ID:intU8xfF223デフォルトの名無しさん
2018/05/02(水) 19:12:21.47ID:intU8xfF224デフォルトの名無しさん
2018/05/02(水) 19:28:18.08ID:bfgs8qRD225デフォルトの名無しさん
2018/05/02(水) 19:30:41.81ID:intU8xfF226デフォルトの名無しさん
2018/05/02(水) 20:02:43.46ID:ja0hTifx >>225
「大きい方から順に取って、既存の列の大きい端の外側に配置」を繰り返せばいい
0 1 2 3 4 のときは
4
4, 3
2, 4, 3
2, 4, 3, 1
0, 2, 4, 3, 1
この時の面積は
1/2・sin 72° ・(0*2+2*4+4*3+3*1+1*0) = 10.9371
「大きい方から順に取って、既存の列の大きい端の外側に配置」を繰り返せばいい
0 1 2 3 4 のときは
4
4, 3
2, 4, 3
2, 4, 3, 1
0, 2, 4, 3, 1
この時の面積は
1/2・sin 72° ・(0*2+2*4+4*3+3*1+1*0) = 10.9371
227デフォルトの名無しさん
2018/05/02(水) 20:20:59.85ID:E/2WxUaU ググったら公式出てきた
http://chaoxuprime.com/posts/2012-08-08-maximize-the-area-of-a-radar-chart.html
プログラムでやるなら、数列の前項後項の積和を最大化する方針がいいのかな
http://chaoxuprime.com/posts/2012-08-08-maximize-the-area-of-a-radar-chart.html
プログラムでやるなら、数列の前項後項の積和を最大化する方針がいいのかな
228225
2018/05/02(水) 20:32:00.70ID:QUr6vWwN 面倒なので証明しないで全パターンの面積を求めて最大のやつを出すように作ろうかと思ったが、
腹が減ったので飯食ってから考えよう。(というかこうするならほとんど考える必要ないなこれw)
腹が減ったので飯食ってから考えよう。(というかこうするならほとんど考える必要ないなこれw)
230デフォルトの名無しさん
2018/05/02(水) 20:44:42.35ID:ja0hTifx >>227
そのπってのが真ん中から左右に配置して行くインデックス列。
でその証明は不完全(*1)だけど結論は合ってる。
(*1)
n-1個の時の最大になる列のどこかに
n番目の数を挿入すればn個の時の解が得られる、
ということを証明せずに利用している。
小さくするには山谷の数を多くする(小さいのと大きいのがなるべく隣接するように置く)
ってことは直感的にわかるんだけど具体的な構成法は考察がいるな
そのπってのが真ん中から左右に配置して行くインデックス列。
でその証明は不完全(*1)だけど結論は合ってる。
(*1)
n-1個の時の最大になる列のどこかに
n番目の数を挿入すればn個の時の解が得られる、
ということを証明せずに利用している。
小さくするには山谷の数を多くする(小さいのと大きいのがなるべく隣接するように置く)
ってことは直感的にわかるんだけど具体的な構成法は考察がいるな
231デフォルトの名無しさん
2018/05/02(水) 22:20:26.25ID:hcdKMJ5x >>211 Squeak/Pharo Smalltalk
| fn |
fn := [:arr |
| strm res |
strm := arr sorted readStream.
res := OrderedCollection withAll: (strm next: 3).
[strm atEnd] whileFalse: [
| next foundPos |
next := strm next.
foundPos := (1 to: res size) detectMax: [:idx |
| a1 a2 |
(a1 := res at: idx) + (a2 := res atWrap: idx+1) * next - (a1 * a2)].
res add: next afterIndex: foundPos
].
res := res asArray.
(res * (2 * Float pi / res size) sin * ({res last}, res allButLast) / 2) sum -> res
].
fn value: #(4 3 2 1 0).
"=> 10.937149937394265->#(0 1 3 4 2) "
fn value: #(10 0 0 10 10 0 10 10).
"=> 141.42135623730948->#(0 10 10 10 10 10 0 0) "
fn value: #(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
"=> 280.6982976397934->#(1 2 4 6 8 10 12 14 16 15 13 11 9 7 5 3) "
| fn |
fn := [:arr |
| strm res |
strm := arr sorted readStream.
res := OrderedCollection withAll: (strm next: 3).
[strm atEnd] whileFalse: [
| next foundPos |
next := strm next.
foundPos := (1 to: res size) detectMax: [:idx |
| a1 a2 |
(a1 := res at: idx) + (a2 := res atWrap: idx+1) * next - (a1 * a2)].
res add: next afterIndex: foundPos
].
res := res asArray.
(res * (2 * Float pi / res size) sin * ({res last}, res allButLast) / 2) sum -> res
].
fn value: #(4 3 2 1 0).
"=> 10.937149937394265->#(0 1 3 4 2) "
fn value: #(10 0 0 10 10 0 10 10).
"=> 141.42135623730948->#(0 10 10 10 10 10 0 0) "
fn value: #(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
"=> 280.6982976397934->#(1 2 4 6 8 10 12 14 16 15 13 11 9 7 5 3) "
232デフォルトの名無しさん
2018/05/03(木) 00:37:28.69ID:hmU6w2gD >>230 最小を目指して, 山谷の数を多くしてみました.
(defun f2 (a)
(let* ((b (sort (copy-seq a) #'<))
(c (/ (length b) 2))
(d (let ((e (subseq b 0 c))) (apply #'append (mapcar (lambda (x) (let ((y (pop e))) (if y (list x y) (list x)))) (reverse (subseq b c))))))
(h))
(loop for i from 0 below (length d) do (setq h (if (or (= (% i 4) 1) (= (% i 4) 2)) (append h (list (nth i d))) (append (list (nth i d)) h))))
h))
(f2 '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16))
(8 10 6 12 4 14 2 16 1 15 3 13 5 11 7 9)
(g (f2 '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)))
157.47423241823444
(defun f2 (a)
(let* ((b (sort (copy-seq a) #'<))
(c (/ (length b) 2))
(d (let ((e (subseq b 0 c))) (apply #'append (mapcar (lambda (x) (let ((y (pop e))) (if y (list x y) (list x)))) (reverse (subseq b c))))))
(h))
(loop for i from 0 below (length d) do (setq h (if (or (= (% i 4) 1) (= (% i 4) 2)) (append h (list (nth i d))) (append (list (nth i d)) h))))
h))
(f2 '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16))
(8 10 6 12 4 14 2 16 1 15 3 13 5 11 7 9)
(g (f2 '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)))
157.47423241823444
233デフォルトの名無しさん
2018/05/03(木) 00:59:37.08ID:SwM9YWB0234デフォルトの名無しさん
2018/05/03(木) 01:32:09.14 >>233
無為に捨てられる何千もの’Hello, World!’がかわいそうすぎね?(´;ω;`)
無為に捨てられる何千もの’Hello, World!’がかわいそうすぎね?(´;ω;`)
235デフォルトの名無しさん
2018/05/03(木) 01:32:43.19ID:rKkc5eBg >>211 Perl5
https://ideone.com/cMJGDR
自力で動的計画法による解法を考えようとしていたけど、
>>227で紹介されたWEBの解法に勝る見込みが無さそうなので
思考を停止してWEBの解法を愚直に実装したものです
https://ideone.com/cMJGDR
自力で動的計画法による解法を考えようとしていたけど、
>>227で紹介されたWEBの解法に勝る見込みが無さそうなので
思考を停止してWEBの解法を愚直に実装したものです
236デフォルトの名無しさん
2018/05/03(木) 09:34:11.17ID:dYPbvGoR 【お題】
与えられた整数のリストで、
2つの要素の和が100になるすべての組を列挙せよ。
例:
[1, 99, 20]
-> [[1, 99]]
[62, 116, 181, 86, 60, 98, -16, 73, 131, 16, 80, -81, 40]
-> [[40, 60], [-16, 116], [-81, 181]]
[100, 0, 100, 0]
-> [[0, 100], [0, 100], [0, 100], [0, 100]]
与えられた整数のリストで、
2つの要素の和が100になるすべての組を列挙せよ。
例:
[1, 99, 20]
-> [[1, 99]]
[62, 116, 181, 86, 60, 98, -16, 73, 131, 16, 80, -81, 40]
-> [[40, 60], [-16, 116], [-81, 181]]
[100, 0, 100, 0]
-> [[0, 100], [0, 100], [0, 100], [0, 100]]
237デフォルトの名無しさん
2018/05/03(木) 10:12:06.60ID:6SfrUic2238デフォルトの名無しさん
2018/05/03(木) 10:13:33.58ID:ngB6qDho239デフォルトの名無しさん
2018/05/03(木) 10:19:06.64ID:m6mdbiEz240デフォルトの名無しさん
2018/05/03(木) 10:45:51.16ID:uFV+Z8SY >>236 Squeak/Pharo Smalltalk
| fn |
fn := [:arr |
| bag |
bag := Bag new.
arr combinations: 2 atATimeDo: [:comb |
comb sum = 100 ifTrue: [bag add: comb sorted]].
bag asArray
].
fn value: #(1 99 20).
"=> #((1 99)) "
fn value: #(62 116 181 86 60 98 -16 73 131 16 80 -81 40).
"=> #((-81 181) (-16 116) (40 60)) "
fn value: #(100 0 100 0).
"=> #((0 100) (0 100) (0 100) (0 100)} "
| fn |
fn := [:arr |
| bag |
bag := Bag new.
arr combinations: 2 atATimeDo: [:comb |
comb sum = 100 ifTrue: [bag add: comb sorted]].
bag asArray
].
fn value: #(1 99 20).
"=> #((1 99)) "
fn value: #(62 116 181 86 60 98 -16 73 131 16 80 -81 40).
"=> #((-81 181) (-16 116) (40 60)) "
fn value: #(100 0 100 0).
"=> #((0 100) (0 100) (0 100) (0 100)} "
241デフォルトの名無しさん
2018/05/03(木) 11:34:54.61242デフォルトの名無しさん
2018/05/03(木) 13:12:32.47ID:N6jONgbj >>236 Perl5
use Data::Dump 'dump';
for ([1, 99, 20],
[62, 116, 181, 86, 60, 98, -16, 73, 131, 16, 80, -81, 40],
[100, 0, 100, 0]) {
sub c {my $d = shift;
my @l = c(@_) if 1 < @_;
@l, map{[$d, $_]} @_};
@s = grep{100 == $$_[0]+$$_[1]} c @$_;
print dump($_)."\n->".dump(\@s)."\n";
}
実行結果
$ perl 11_236.pl
[1, 99, 20]
->[[1, 99]]
[62, 116, 181, 86, 60, 98, -16, 73, 131, 16, 80, -81, 40]
->[[60, 40], [181, -81], [116, -16]]
[100, 0, 100, 0]
->[[100, 0], [0, 100], [100, 0], [100, 0]]
※実行にはperlのData::Dumpモジュールが必要ですが、
Ideoneのperl 24にはインストールされてないようでした
use Data::Dump 'dump';
for ([1, 99, 20],
[62, 116, 181, 86, 60, 98, -16, 73, 131, 16, 80, -81, 40],
[100, 0, 100, 0]) {
sub c {my $d = shift;
my @l = c(@_) if 1 < @_;
@l, map{[$d, $_]} @_};
@s = grep{100 == $$_[0]+$$_[1]} c @$_;
print dump($_)."\n->".dump(\@s)."\n";
}
実行結果
$ perl 11_236.pl
[1, 99, 20]
->[[1, 99]]
[62, 116, 181, 86, 60, 98, -16, 73, 131, 16, 80, -81, 40]
->[[60, 40], [181, -81], [116, -16]]
[100, 0, 100, 0]
->[[100, 0], [0, 100], [100, 0], [100, 0]]
※実行にはperlのData::Dumpモジュールが必要ですが、
Ideoneのperl 24にはインストールされてないようでした
243デフォルトの名無しさん
2018/05/03(木) 13:15:16.16ID:ngB6qDho244デフォルトの名無しさん
2018/05/03(木) 14:31:25.30ID:M52LYEAa >>236 javascript
var f = l => {
console.log(
l.reduce((acc, m, i, ary) =>
[
...acc,
...ary.slice(i+1)
.filter(n => m + n == 100)
.map(n => [m, n])
],
[]
)
)
}
f([1, 99, 20])
//=> [[1, 99]]
f([62, 116, 181, 86, 60, 98, -16, 73, 131, 16, 80, -81, 40])
//=> [[116, -16], [181, -81], [60, 40]]
f([100, 0, 100, 0])
//=> [[100, 0], [100, 0], [0, 100], [100, 0]]
var f = l => {
console.log(
l.reduce((acc, m, i, ary) =>
[
...acc,
...ary.slice(i+1)
.filter(n => m + n == 100)
.map(n => [m, n])
],
[]
)
)
}
f([1, 99, 20])
//=> [[1, 99]]
f([62, 116, 181, 86, 60, 98, -16, 73, 131, 16, 80, -81, 40])
//=> [[116, -16], [181, -81], [60, 40]]
f([100, 0, 100, 0])
//=> [[100, 0], [100, 0], [0, 100], [100, 0]]
245デフォルトの名無しさん
2018/05/03(木) 14:55:50.12ID:cjR1ezGU Smalltalk のメソッドの充実っぷりには毎回感心
246デフォルトの名無しさん
2018/05/03(木) 18:28:55.09ID:qi+bYfi0 それなりの規模の処理系(GUI付きOSモドキ)をセルフホスティングで構築・維持していると
イディオムがイディオムとして認識・共有されやすく、さらにメソッドとしてまとめられやすいのかも
たとえばスクリプト言語処理系でしかないGNU Smalltalkはあまり便利メソッドが増える感じがしないので
イディオムがイディオムとして認識・共有されやすく、さらにメソッドとしてまとめられやすいのかも
たとえばスクリプト言語処理系でしかないGNU Smalltalkはあまり便利メソッドが増える感じがしないので
247デフォルトの名無しさん
2018/05/04(金) 19:54:42.66ID:4Zt1BODM お題
10,000個の単純変数に1から10,000の整数を代入する
10,000個の単純変数に1から10,000の整数を代入する
248デフォルトの名無しさん
2018/05/04(金) 20:34:39.46ID:6j9W/G+p >>247 Ruby
(1..10000).each{|i|instance_variable_set("@v#{i}", i}
(1..10000).each{|i|instance_variable_set("@v#{i}", i}
249デフォルトの名無しさん
2018/05/04(金) 20:41:53.19ID:LfImqqRO250デフォルトの名無しさん
2018/05/04(金) 20:52:57.61ID:LfImqqRO251デフォルトの名無しさん
2018/05/04(金) 21:16:29.34ID:sij7cbOA252デフォルトの名無しさん
2018/05/04(金) 21:23:10.57ID:sij7cbOA >>250
シェルもperlみたいにeval使えば簡単だと思うよ。その他の言語も同様。
てかこれ、インタープリタの言語にはできてもコンパイルする言語の場合は普通の方法ではできないんじゃないかな。
トリッキーな方法使ってようやっとできるかも知れないって感じじゃないだろうか。
シェルもperlみたいにeval使えば簡単だと思うよ。その他の言語も同様。
てかこれ、インタープリタの言語にはできてもコンパイルする言語の場合は普通の方法ではできないんじゃないかな。
トリッキーな方法使ってようやっとできるかも知れないって感じじゃないだろうか。
253デフォルトの名無しさん
2018/05/04(金) 21:49:18.32 Cプリプロセッサでもやろうと思えばできるけど面倒だからやらない
254デフォルトの名無しさん
2018/05/04(金) 21:57:55.58ID:mhxe2Hc6255デフォルトの名無しさん
2018/05/04(金) 22:02:19.57ID:sij7cbOA >>254
問題の意味がわからん
問題の意味がわからん
256デフォルトの名無しさん
2018/05/04(金) 23:16:59.35 >>255
分からないときは好きに解釈していいのがこのスレのルール
分からないときは好きに解釈していいのがこのスレのルール
257デフォルトの名無しさん
2018/05/05(土) 00:33:22.15ID:1BpKS+ks >>254 Perl5
sub f {pop, shift, @_ ? f(@_) : ()}
sub g {@_ ? do{my $a = shift; shift, g(@_), $a} : ()}
use feature 'say';
sub pai {
say "@pai";
@pai = f(@pai); say "@pai";
@pai = g(@pai); say "@pai";
}
@pai = qw{1 2 3 4 5 6}; &pai;
@pai = qw{a b c d e f}; &pai;
実行結果
$ perl 11_254_1.pl
1 2 3 4 5 6
6 1 5 2 4 3
1 2 3 4 5 6
a b c d e f
f a e b d c
a b c d e f
sub f {pop, shift, @_ ? f(@_) : ()}
sub g {@_ ? do{my $a = shift; shift, g(@_), $a} : ()}
use feature 'say';
sub pai {
say "@pai";
@pai = f(@pai); say "@pai";
@pai = g(@pai); say "@pai";
}
@pai = qw{1 2 3 4 5 6}; &pai;
@pai = qw{a b c d e f}; &pai;
実行結果
$ perl 11_254_1.pl
1 2 3 4 5 6
6 1 5 2 4 3
1 2 3 4 5 6
a b c d e f
f a e b d c
a b c d e f
258デフォルトの名無しさん
2018/05/05(土) 01:53:30.67ID:ia6t0Ogc f, g のような変換関数を作ること自体は簡単な感じがするが、それと「パイ生地の折り畳み」がどう関係するのかがわからんな。
単にここでは折り畳んだらそういう並びになるというルールなだけ?
単にここでは折り畳んだらそういう並びになるというルールなだけ?
259デフォルトの名無しさん
2018/05/05(土) 01:54:26.33ID:0a7ZDXtf260デフォルトの名無しさん
2018/05/05(土) 02:02:07.19ID:1dAfhim4 半分に折る->後半部を逆順に
折重ねたまま元の大きさまで伸ばす->前半部に合成
パイ生地の作り方からの連想だとは思う
折重ねたまま元の大きさまで伸ばす->前半部に合成
パイ生地の作り方からの連想だとは思う
261デフォルトの名無しさん
2018/05/05(土) 02:08:07.54ID:j/DSqy58262デフォルトの名無しさん
2018/05/05(土) 02:13:33.62ID:1BpKS+ks263デフォルトの名無しさん
2018/05/05(土) 02:43:53.26ID:ia6t0Ogc >>262
「パイ生地の折り畳み」という言葉に他の意味がないかってこと。
「パイ生地の折り畳み」という言葉に他の意味がないかってこと。
264デフォルトの名無しさん
2018/05/05(土) 07:20:49.47ID:lTVCLXC3 >>254
J
l =: -: * -.@(2&|)
r =: (# - -:@>:) * 2&|
p_fold =: {~((l+r)@i.@#)
折りたたみちょっと面白いね
何度か繰り返し適用すると元に戻る
例えば4つだと p_fold^:3 (1 2 3 4) => 1 2 3 4
と3回適用すると元に戻る
(^:n ってのはn回適用するJの仕組み)
同様に
p_fold^:5 (1 2 3 4 5 6) =>1 2 3 4 5 6
p_fold^:4 (1 2 3 4 5 6 7 8) => 1 2 3 4 5 6 7 8
p_fold^:9 (1 2 3 4 5 6 7 8 9 10) => 1 2 3 4 5 6 7 8 9 10
J
l =: -: * -.@(2&|)
r =: (# - -:@>:) * 2&|
p_fold =: {~((l+r)@i.@#)
折りたたみちょっと面白いね
何度か繰り返し適用すると元に戻る
例えば4つだと p_fold^:3 (1 2 3 4) => 1 2 3 4
と3回適用すると元に戻る
(^:n ってのはn回適用するJの仕組み)
同様に
p_fold^:5 (1 2 3 4 5 6) =>1 2 3 4 5 6
p_fold^:4 (1 2 3 4 5 6 7 8) => 1 2 3 4 5 6 7 8
p_fold^:9 (1 2 3 4 5 6 7 8 9 10) => 1 2 3 4 5 6 7 8 9 10
265デフォルトの名無しさん
2018/05/05(土) 10:31:30.99ID:5+ZWBL/x >>254 Ruby 条件分岐を使わずにindexのみから求めてみた
f=->a{a.size.times.map{|i|a[(i&1)*i-i/2-1]}}
g=->a{(s=a.size).times.map{|i|a[~(4*i-2*s+3).abs/2]}}
p f[[*1..6]] #=> [6, 1, 5, 2, 4, 3]
p g[f[[*1..6]]] #=> [1, 2, 3, 4, 5, 6]
f=->a{a.size.times.map{|i|a[(i&1)*i-i/2-1]}}
g=->a{(s=a.size).times.map{|i|a[~(4*i-2*s+3).abs/2]}}
p f[[*1..6]] #=> [6, 1, 5, 2, 4, 3]
p g[f[[*1..6]]] #=> [1, 2, 3, 4, 5, 6]
266デフォルトの名無しさん
2018/05/05(土) 11:51:20.86267デフォルトの名無しさん
2018/05/05(土) 14:19:41.02ID:E0VTmDdu >>254 Squeak/Pharo Smalltalk
| f g pie |
f := [:arr |
((1 to: arr size)
collect: [:idx | arr perform: (#(atLast: at:) atWrap: idx) with: (idx / 2) ceiling]
) as: arr species
].
g := [:arr |
(((1 to: arr size) select: #even), ((1 to: arr size) select: #odd) reversed
collect: [:idx | arr at: idx]
) as: arr species
].
pie := 'abcdefg'.
pie := f value: pie. "=> 'gafbecd' "
g value: pie. "=> 'abcdefg' "
pie := (1 to: 7).
pie := f value: pie. "=> #(7 1 6 2 5 3 4) "
g value: pie. "=> #(1 2 3 4 5 6 7) "
| f g pie |
f := [:arr |
((1 to: arr size)
collect: [:idx | arr perform: (#(atLast: at:) atWrap: idx) with: (idx / 2) ceiling]
) as: arr species
].
g := [:arr |
(((1 to: arr size) select: #even), ((1 to: arr size) select: #odd) reversed
collect: [:idx | arr at: idx]
) as: arr species
].
pie := 'abcdefg'.
pie := f value: pie. "=> 'gafbecd' "
g value: pie. "=> 'abcdefg' "
pie := (1 to: 7).
pie := f value: pie. "=> #(7 1 6 2 5 3 4) "
g value: pie. "=> #(1 2 3 4 5 6 7) "
268デフォルトの名無しさん
2018/05/05(土) 16:41:53.04ID:YacZpoVZ >>254 Squeak/Pharo Smalltalk >>265っぽい方針も入れて書き直し
| f g pie |
f := [:arr |
((1 to: arr size)
collect: [:m | arr atWrap: m * m even asBit - (m // 2)]
) as: arr species
].
g := [:arr |
((2 to: arr size by: 2), (1 to: arr size by: 2) reversed
collect: [:idx | arr at: idx]
) as: arr species
].
pie := 'abcdefg'.
pie := f value: pie. "=> 'gafbecd' "
g value: pie. "=> 'abcdefg' "
pie := (1 to: 7).
pie := f value: pie. "=> #(7 1 6 2 5 3 4) "
g value: pie. "=> #(1 2 3 4 5 6 7) "
| f g pie |
f := [:arr |
((1 to: arr size)
collect: [:m | arr atWrap: m * m even asBit - (m // 2)]
) as: arr species
].
g := [:arr |
((2 to: arr size by: 2), (1 to: arr size by: 2) reversed
collect: [:idx | arr at: idx]
) as: arr species
].
pie := 'abcdefg'.
pie := f value: pie. "=> 'gafbecd' "
g value: pie. "=> 'abcdefg' "
pie := (1 to: 7).
pie := f value: pie. "=> #(7 1 6 2 5 3 4) "
g value: pie. "=> #(1 2 3 4 5 6 7) "
269デフォルトの名無しさん
2018/05/05(土) 17:07:44.87ID:ZO4AhgIr >>265ってどういう計算してんの?
270デフォルトの名無しさん
2018/05/05(土) 17:25:53.15ID:Js8QmTUw お題
N×Mのフィールドが与えられる。各マスの意味は以下の通りとする。
'S':始点
'G':終点
'.':通行可
'#':通行不可
連続して同じ方向に進むことができないという制約下で、
始点から終点までの最短距離を求めよ。
[example 1]
S....
#....
..#..
....G
=> 9
[example 2]
S.....G
.......
=> 12
N×Mのフィールドが与えられる。各マスの意味は以下の通りとする。
'S':始点
'G':終点
'.':通行可
'#':通行不可
連続して同じ方向に進むことができないという制約下で、
始点から終点までの最短距離を求めよ。
[example 1]
S....
#....
..#..
....G
=> 9
[example 2]
S.....G
.......
=> 12
271デフォルトの名無しさん
2018/05/05(土) 17:33:36.44ID:5+ZWBL/x >>269
配列の長さを L とすると、
f(パイをたたむ)は;
i(0 <= i < L)番目の要素を元の配列の (~...~[i / 2]) % L 番目から持ってくればよい
(~...~はビット反転を i 回繰り返したもの)
g(パイを開く)は;
i(0 <= i < L)番目の要素を元の配列の (- 0.5 - |2 * i - L + 1.5|) % L 番目から持ってくればよい
配列の長さを L とすると、
f(パイをたたむ)は;
i(0 <= i < L)番目の要素を元の配列の (~...~[i / 2]) % L 番目から持ってくればよい
(~...~はビット反転を i 回繰り返したもの)
g(パイを開く)は;
i(0 <= i < L)番目の要素を元の配列の (- 0.5 - |2 * i - L + 1.5|) % L 番目から持ってくればよい
272デフォルトの名無しさん
2018/05/05(土) 18:32:03.46ID:sJdk0i7H [][][] [[[ ] X_[[[ [] ][ [] ][][[[]
273デフォルトの名無しさん
2018/05/05(土) 18:51:54.01ID:c0K4Xq7n 今抱えてる課題
1から100までインクリメントする変数iを用いて
300から1までの実数を100個出力せよ
i=1の時は300
i=100の時は1
となる式を考えてちょ(人・ω・)☆
1から100までインクリメントする変数iを用いて
300から1までの実数を100個出力せよ
i=1の時は300
i=100の時は1
となる式を考えてちょ(人・ω・)☆
274デフォルトの名無しさん
2018/05/05(土) 19:03:50.73ID:1st6shTW >>273
300 - (299.0 / 99.0) * (i - 1)
300 - (299.0 / 99.0) * (i - 1)
275デフォルトの名無しさん
2018/05/05(土) 19:06:07.33ID:j/DSqy58 お題:文字駒を滑らせろ
四方を囲いで被われ駒がこぼれる心配のないM×Nマスのボードがある。
ここに英小文字が印字された正方形の駒が適当に配置されている。(駒のないマスは.(ドット)で表す)
与えられる、ボードを傾ける指示を完遂したときの最終盤面を表示せよ。
指示の方向はU(向かい方向)、D(手前方向)、L(左方向)、R(右方向)の四種類。
例1)
solve([
'...',
'.a.',
'...',
], 'UR')
// ↓
// [
// '..a',
// '...',
// '...',
// ]
https://jsfiddle.net/en6rd3vk/
※盤面は文字列の配列にしているが文字の配列の配列など言語で扱いやすいよう好きにしてよい
例2)
solve(
[".....", ".d.i.", "kmegk", "..tu."],
"LRRLLUDRRLRLRRURRRRLLLRULDUDULDLLRDULURULUDLDLUDDL"
)
//=> [".....", "gk...", "km...", "dietu"]
暇な人は300×300、指示数50くらいでやってみてください。最適化しないと結構時間かかっちゃうと思いますが。
四方を囲いで被われ駒がこぼれる心配のないM×Nマスのボードがある。
ここに英小文字が印字された正方形の駒が適当に配置されている。(駒のないマスは.(ドット)で表す)
与えられる、ボードを傾ける指示を完遂したときの最終盤面を表示せよ。
指示の方向はU(向かい方向)、D(手前方向)、L(左方向)、R(右方向)の四種類。
例1)
solve([
'...',
'.a.',
'...',
], 'UR')
// ↓
// [
// '..a',
// '...',
// '...',
// ]
https://jsfiddle.net/en6rd3vk/
※盤面は文字列の配列にしているが文字の配列の配列など言語で扱いやすいよう好きにしてよい
例2)
solve(
[".....", ".d.i.", "kmegk", "..tu."],
"LRRLLUDRRLRLRRURRRRLLLRULDUDULDLLRDULURULUDLDLUDDL"
)
//=> [".....", "gk...", "km...", "dietu"]
暇な人は300×300、指示数50くらいでやってみてください。最適化しないと結構時間かかっちゃうと思いますが。
276デフォルトの名無しさん
2018/05/05(土) 19:17:21.84ID:c0K4Xq7n277デフォルトの名無しさん
2018/05/05(土) 19:38:36.14ID:ia6t0Ogc >>254
色々な言語で書いてみたが、やってることはほとんど同じ。
それぞれの言語の特徴をあまり生かせてない感じがする。
C
https://paiza.io/projects/zsjD__CUc4kIlaDd-nYgQQ
Kotlin
https://paiza.io/projects/ncCwkTCvQ0IsNcZGbpy_vw
Perl
https://paiza.io/projects/C9lzimZEAZzk25gjn4NGfw
色々な言語で書いてみたが、やってることはほとんど同じ。
それぞれの言語の特徴をあまり生かせてない感じがする。
C
https://paiza.io/projects/zsjD__CUc4kIlaDd-nYgQQ
Kotlin
https://paiza.io/projects/ncCwkTCvQ0IsNcZGbpy_vw
Perl
https://paiza.io/projects/C9lzimZEAZzk25gjn4NGfw
278デフォルトの名無しさん
2018/05/05(土) 20:28:32.99ID:MmzVJzsz279デフォルトの名無しさん
2018/05/05(土) 20:59:38.12ID:a4pX7/xy280デフォルトの名無しさん
2018/05/05(土) 22:20:56.64ID:MmzVJzsz281デフォルトの名無しさん
2018/05/05(土) 22:58:44.12ID:Js8QmTUw お題
Y円を支払うとき、同種の通貨の枚数を最小化する。
Y=500
=> 1 (500*1, 同種の通貨は最大1枚)
Y=300
=> 2 (2*100+2*50, 同種の通貨は最大2枚)
Y=40
=> 3
Y=60
=> 1
Y円を支払うとき、同種の通貨の枚数を最小化する。
Y=500
=> 1 (500*1, 同種の通貨は最大1枚)
Y=300
=> 2 (2*100+2*50, 同種の通貨は最大2枚)
Y=40
=> 3
Y=60
=> 1
282デフォルトの名無しさん
2018/05/05(土) 23:08:19.67ID:MmzVJzsz >>281
通貨の種類は 1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 10000?
通貨の種類は 1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 10000?
283デフォルトの名無しさん
2018/05/05(土) 23:19:24.99ID:Js8QmTUw >>282 それでいいです。任意の種類に対応できたら尚良し
284デフォルトの名無しさん
2018/05/05(土) 23:53:24.33ID:gS+4uwRv >>281
=> 0 (カード決済または電子マネー決済)
=> 0 (カード決済または電子マネー決済)
285デフォルトの名無しさん
2018/05/06(日) 00:22:26.26286デフォルトの名無しさん
2018/05/06(日) 01:34:21.80287デフォルトの名無しさん
2018/05/06(日) 01:45:52.35ID:Bse1bLkg288デフォルトの名無しさん
2018/05/06(日) 06:45:27.16ID:lHf8cLJR >>281 Ruby ぴったり払えない時は No Solutions と出力
currency = [1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 10000]
sums = currency.size.times.map { |i| currency[0..i].sum }
[74664, 55998, 37332, 500, 340, 300, 197, 161, 157, 60, 40].each { |yen|
print '%d => ' % yen
min = currency.zip(sums).reverse_each.map { |c, s|
yen -= c * x = [yen/c, -(-yen/s)].min
x
}.max
puts yen.zero? ? min : 'No Solutions'
}
#=>
74664 => 4
55998 => 3
37332 => 2
500 => 1
340 => 3
300 => 2
197 => 3
161 => 1
157 => 2
60 => 1
40 => 3
currency = [1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 10000]
sums = currency.size.times.map { |i| currency[0..i].sum }
[74664, 55998, 37332, 500, 340, 300, 197, 161, 157, 60, 40].each { |yen|
print '%d => ' % yen
min = currency.zip(sums).reverse_each.map { |c, s|
yen -= c * x = [yen/c, -(-yen/s)].min
x
}.max
puts yen.zero? ? min : 'No Solutions'
}
#=>
74664 => 4
55998 => 3
37332 => 2
500 => 1
340 => 3
300 => 2
197 => 3
161 => 1
157 => 2
60 => 1
40 => 3
289デフォルトの名無しさん
2018/05/06(日) 08:03:16.30ID:939GOaZM290デフォルトの名無しさん
2018/05/06(日) 08:16:38.56ID:xMaBOakW >>281 Ruby >>288を修正
currency = [1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 10000]
samples = [74664, 55998, 37332, 500, 340, 300, 197, 161, 157, 60, 40]
cands = currency.zip(currency.reduce([]){|s, e| s << s.last.to_i + e}).reverse_each
breakdown = lambda do |yen|
x = cands.map{|c, s| yen -= c * x = [yen/c, -(-yen/s)].min; x}.max
yen > 0 ? 'No Solution' : x
end
samples.each{|yen| puts '%d => %s' % [yen, breakdown[yen]]}
#=>
74664 => 4
55998 => 3
37332 => 2
500 => 1
340 => 3
300 => 2
197 => 3
161 => 1
157 => 2
60 => 1
40 => 3
currency = [1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 10000]
samples = [74664, 55998, 37332, 500, 340, 300, 197, 161, 157, 60, 40]
cands = currency.zip(currency.reduce([]){|s, e| s << s.last.to_i + e}).reverse_each
breakdown = lambda do |yen|
x = cands.map{|c, s| yen -= c * x = [yen/c, -(-yen/s)].min; x}.max
yen > 0 ? 'No Solution' : x
end
samples.each{|yen| puts '%d => %s' % [yen, breakdown[yen]]}
#=>
74664 => 4
55998 => 3
37332 => 2
500 => 1
340 => 3
300 => 2
197 => 3
161 => 1
157 => 2
60 => 1
40 => 3
291デフォルトの名無しさん
2018/05/06(日) 19:32:00.34ID:9CUhRDV/ }]] [[《_["[[]]" 〈[]》》 [][][]0,1》》〈〉 [] } } "B,V,0%%%,*1BVLO,SASA1`}}//%\\0,1\"VL"\
292デフォルトの名無しさん
2018/05/08(火) 21:21:59.59ID:qF4LguOP お題:九九の各段の値を合計せよ
https://ideone.com/T3TrFG
https://ideone.com/T3TrFG
293デフォルトの名無しさん
2018/05/08(火) 21:45:36.53ID:XzXTdruW294デフォルトの名無しさん
2018/05/08(火) 21:54:00.37ID:rppAglGz はっ。それはもしや45の倍数・・・
おや?こんな夜中に誰だ?
おや?こんな夜中に誰だ?
295デフォルトの名無しさん
2018/05/08(火) 22:14:46.30ID:8rfWV9vw >>289
それって例えば初期配置が以下のとき(■が駒)
□■■□□■
□□■□■□
■■□■□■
□□■■□□
□■□■□□
■□■□□■
最初に例えばULが来ると以下のようになって…
■■■■■■
■■■■■□
■■■■□□
■□□□□□
□□□□□□
□□□□□□
□だけの行、□だけの列はこれからハブいてループ回せるじゃんってことだよね。この例だと下二行。
なるほど命令の最適化ばっかり考えてて全然気づかなかった。
それって例えば初期配置が以下のとき(■が駒)
□■■□□■
□□■□■□
■■□■□■
□□■■□□
□■□■□□
■□■□□■
最初に例えばULが来ると以下のようになって…
■■■■■■
■■■■■□
■■■■□□
■□□□□□
□□□□□□
□□□□□□
□だけの行、□だけの列はこれからハブいてループ回せるじゃんってことだよね。この例だと下二行。
なるほど命令の最適化ばっかり考えてて全然気づかなかった。
296デフォルトの名無しさん
2018/05/08(火) 23:30:03.25ID:y0JbAqkN >>292 Squeak/Pharo Smalltalk
(1 to: 9) sum * (1 to: 9) "=> #(45 90 135 180 225 270 315 360 405) "
((1 to: 9) * (Array new: 9 withAll: (1 to: 9))) sum. "=> #(45 90 135 180 225 270 315 360 405) "
ついでに全段の合計も
((1 to: 9) sum * (1 to: 9)) sum. "=> 2025 "
((1 to: 9) * (Array new: 9 withAll: (1 to: 9))) sum sum. "=> 2025 "
(Matrix rows: 9 columns: 9 tabulate: [:x :y | x * y]) sum. "=> 2025 "
((1 to: 9) asArray +* (Matrix rows:1 columns: 9 contents: (1 to: 9))) sum. "=> 2025 "
(1 to: 9) sum * (1 to: 9) "=> #(45 90 135 180 225 270 315 360 405) "
((1 to: 9) * (Array new: 9 withAll: (1 to: 9))) sum. "=> #(45 90 135 180 225 270 315 360 405) "
ついでに全段の合計も
((1 to: 9) sum * (1 to: 9)) sum. "=> 2025 "
((1 to: 9) * (Array new: 9 withAll: (1 to: 9))) sum sum. "=> 2025 "
(Matrix rows: 9 columns: 9 tabulate: [:x :y | x * y]) sum. "=> 2025 "
((1 to: 9) asArray +* (Matrix rows:1 columns: 9 contents: (1 to: 9))) sum. "=> 2025 "
297デフォルトの名無しさん
2018/05/08(火) 23:50:03.66ID:XzXTdruW >>275
これの最適化したいんだけど誰か大きいボードのサンプルくれないかなあ
これの最適化したいんだけど誰か大きいボードのサンプルくれないかなあ
298デフォルトの名無しさん
2018/05/09(水) 00:00:50.01ID:yM0yjk1d 激問って未だに更新されてるんだね
299デフォルトの名無しさん
2018/05/09(水) 00:58:06.52ID:NS139TvC >>296
Smalltalk なのに普通だ…いやtabulateが便利そう
J
格段の和
+/(*/[)>:i.9
45 90 135 180 225 270 315 360 405
さらに足すと
+/+/(*/[)>:i.9
2025
先に,で1次元化してから足せば1文字短く
+/,(*/[)>:i.9
2025
Smalltalk なのに普通だ…いやtabulateが便利そう
J
格段の和
+/(*/[)>:i.9
45 90 135 180 225 270 315 360 405
さらに足すと
+/+/(*/[)>:i.9
2025
先に,で1次元化してから足せば1文字短く
+/,(*/[)>:i.9
2025
300デフォルトの名無しさん
2018/05/09(水) 01:51:50.10ID:bn/AH8fd >>297
すごくでかくなったので分けた。ごめんよjsfiddle...
board(1980x1080, 文字列の配列形式)
https://jsfiddle.net/eqyuvgm9/
actions(256)
https://jsfiddle.net/2j2817rc/
result(1980x1080, 文字列の配列形式)
https://jsfiddle.net/uyboko52/
このサンプルでchromeのコンソールで試した結果、
最適化なしでは47.4秒
命令の最適化だけで1.8秒になった
>>289も試してみようと思う
すごくでかくなったので分けた。ごめんよjsfiddle...
board(1980x1080, 文字列の配列形式)
https://jsfiddle.net/eqyuvgm9/
actions(256)
https://jsfiddle.net/2j2817rc/
result(1980x1080, 文字列の配列形式)
https://jsfiddle.net/uyboko52/
このサンプルでchromeのコンソールで試した結果、
最適化なしでは47.4秒
命令の最適化だけで1.8秒になった
>>289も試してみようと思う
301デフォルトの名無しさん
2018/05/09(水) 01:56:38.20ID:qkLXPpHd >>292
Kotlin
(1..9).forEach { a -> println((1..9).map { it * a }.sum()) }
この1行をファイルに入れて kotlinc -script でファイルを指定するとスクリプトとして実行されて計算結果が出力される。
45
90
135
180
225
270
315
360
405
Kotlin
(1..9).forEach { a -> println((1..9).map { it * a }.sum()) }
この1行をファイルに入れて kotlinc -script でファイルを指定するとスクリプトとして実行されて計算結果が出力される。
45
90
135
180
225
270
315
360
405
302デフォルトの名無しさん
2018/05/09(水) 03:24:50.65303デフォルトの名無しさん
2018/05/09(水) 04:36:36.06ID:uBL8ccTk >>292 Nim
import math
const s1 = (sum[int]([1,2,3,4,5,6,7,8,9]))
var s=0; for i in 1..9: s+=s1; echo s
import math
const s1 = (sum[int]([1,2,3,4,5,6,7,8,9]))
var s=0; for i in 1..9: s+=s1; echo s
304デフォルトの名無しさん
2018/05/09(水) 07:39:32.32ID:LEGAA83e305デフォルトの名無しさん
2018/05/09(水) 14:54:31.24ID:LEGAA83e >>300 Ruby
>>289を意識して最適化してみた
https://ideone.com/zwyM7p
2回動かした後、適切に反転させて右下が開くようにしておけば、
abc-
ed--
f---
----
LとRは、
cba-
de--
f---
----
UとDは、
fdc-
eb--
a---
----
と垂直、鉛直方向にそれぞれ反転するだけでいい
最適化された命令は時計回りか反時計回りに回すことになるけど、((駒の数)! + 1)回以内には必ずでループするのでそれも考慮
が、1980x1080には4秒要する模様
>>289を意識して最適化してみた
https://ideone.com/zwyM7p
2回動かした後、適切に反転させて右下が開くようにしておけば、
abc-
ed--
f---
----
LとRは、
cba-
de--
f---
----
UとDは、
fdc-
eb--
a---
----
と垂直、鉛直方向にそれぞれ反転するだけでいい
最適化された命令は時計回りか反時計回りに回すことになるけど、((駒の数)! + 1)回以内には必ずでループするのでそれも考慮
が、1980x1080には4秒要する模様
306デフォルトの名無しさん
2018/05/09(水) 15:06:55.92ID:FhlfzW8k >>295
マス単位で省けると思う
[a....,bcd..,efghi]を[a,bcd,efghi]って表現して
これを上に傾けて[acdhi,bfg,e]にする操作はこんなコードで出来る
https://ideone.com/i7EmbB
他の方向へは対称性を利用すれば書けるから
今は左下に寄ってるみたいな情報を持ってればいいし
その情報で行列表現にも戻せる
まあ駒の数が多い場合は大して速くならないけど
マス単位で省けると思う
[a....,bcd..,efghi]を[a,bcd,efghi]って表現して
これを上に傾けて[acdhi,bfg,e]にする操作はこんなコードで出来る
https://ideone.com/i7EmbB
他の方向へは対称性を利用すれば書けるから
今は左下に寄ってるみたいな情報を持ってればいいし
その情報で行列表現にも戻せる
まあ駒の数が多い場合は大して速くならないけど
307デフォルトの名無しさん
2018/05/09(水) 15:13:44.30ID:LEGAA83e あとは2回目以降どうやって傾けても駒の配置は合同(かその反転)になるから
2回傾けた結果を使って4回目を求めて……ってやればO((駒の数)*log(最適化された命令の長さ))で済みそうだよね
2回傾けた結果を使って4回目を求めて……ってやればO((駒の数)*log(最適化された命令の長さ))で済みそうだよね
308デフォルトの名無しさん
2018/05/09(水) 15:37:49.24ID:FhlfzW8k309デフォルトの名無しさん
2018/05/09(水) 18:01:06.55ID:tbbSaefy >>275を>>300のボードで
こういう処理はCが速かろうということで何の工夫もないコードを書いてみた
アクションの最適化なしで256回動かした場合
MacBook-Pro:tmp$ time ./a.out <data.raw > r.raw
real 0m0.638s
user 0m0.625s
sys 0m0.009s
638ミリ秒
アクションの最適化だけ実装すると
MacBook-Pro:tmp$ time ./a.out <data.raw > r.raw
real 0m0.045s
user 0m0.037s
sys 0m0.006s
45ミリ秒
https://ideone.com/bZmXpg
こういう処理はCが速かろうということで何の工夫もないコードを書いてみた
アクションの最適化なしで256回動かした場合
MacBook-Pro:tmp$ time ./a.out <data.raw > r.raw
real 0m0.638s
user 0m0.625s
sys 0m0.009s
638ミリ秒
アクションの最適化だけ実装すると
MacBook-Pro:tmp$ time ./a.out <data.raw > r.raw
real 0m0.045s
user 0m0.037s
sys 0m0.006s
45ミリ秒
https://ideone.com/bZmXpg
310デフォルトの名無しさん
2018/05/09(水) 18:02:18.67ID:tbbSaefy 補足
256回というのは>>300にある256アクションをそのまま行うということ
256回というのは>>300にある256アクションをそのまま行うということ
311デフォルトの名無しさん
2018/05/09(水) 19:18:52.31ID:tbbSaefy 目先を変えて Apple の GCD を使って8スレッド並列にしてみた
4コアのPCで3倍くらいになった
アクションの最適化なし
MacBook-Pro:tmp$ time ./c.out <data.raw > rc.raw
real 0m0.218s
user 0m1.190s
sys 0m0.027s
218ミリ秒
アクションの最適化あり
MacBook-Pro:tmp$ time ./c.out <data.raw > rc.raw
real 0m0.023s
user 0m0.058s
sys 0m0.008s
23ミリ秒
100回繰り返すと1回あたり18msec程度になる模様
MacBook-Pro:tmp$ time for i in `seq 1 100` ; do ./c.out <data.raw >rc.raw ; done
real 0m1.814s
user 0m6.659s
sys 0m0.589s
https://ideone.com/ULrjTi
4コアのPCで3倍くらいになった
アクションの最適化なし
MacBook-Pro:tmp$ time ./c.out <data.raw > rc.raw
real 0m0.218s
user 0m1.190s
sys 0m0.027s
218ミリ秒
アクションの最適化あり
MacBook-Pro:tmp$ time ./c.out <data.raw > rc.raw
real 0m0.023s
user 0m0.058s
sys 0m0.008s
23ミリ秒
100回繰り返すと1回あたり18msec程度になる模様
MacBook-Pro:tmp$ time for i in `seq 1 100` ; do ./c.out <data.raw >rc.raw ; done
real 0m1.814s
user 0m6.659s
sys 0m0.589s
https://ideone.com/ULrjTi
312デフォルトの名無しさん
2018/05/09(水) 21:01:50.08ID:28IRmfG3 やっぱはえ〜w
313デフォルトの名無しさん
2018/05/09(水) 21:40:14.20ID:7NiN2gcq (そして今試してわかったが dispatch_group は
>>311のように使いまわさず wait 後破棄してまた create する方が高速、と)
>>311のように使いまわさず wait 後破棄してまた create する方が高速、と)
314デフォルトの名無しさん
2018/05/09(水) 21:57:48.63ID:bn/AH8fd スクリプト言語のわりには速いと言われるjsだけど当たり前なのかもしれないが桁違いにぜんぜん敵わんくて糞ワロタww
315デフォルトの名無しさん
2018/05/09(水) 22:18:37.30ID:7NiN2gcq JS のは配列の初期化や文字列操作関数とかが足引っ張ってるんじゃないだろうか。
毎回メモリアロケートするからキャッシュも効きにくそうだし。
2次元配列に初期値セットしてからコードで操作した方が速い気がする。
毎回メモリアロケートするからキャッシュも効きにくそうだし。
2次元配列に初期値セットしてからコードで操作した方が速い気がする。
316デフォルトの名無しさん
2018/05/09(水) 22:24:38.34ID:7NiN2gcq PCの速度差がかなりあるだけかも知れんし後でjs版も計測してみる
317デフォルトの名無しさん
2018/05/10(木) 08:16:30.90 各コマの最大可動範囲は最初に定まるし
ターンが進むにつれ狭まりもするから
それで最適化できん?
知らんけど
ターンが進むにつれ狭まりもするから
それで最適化できん?
知らんけど
318デフォルトの名無しさん
2018/05/10(木) 14:34:27.76ID:qHVZoDSH >>305のやり方だと二回傾けて以降は駒の入れ替えだけでいいから
numpyでboard[board!='.']=np.fliplr(board)[np.fliplr(board)!='.']とかやれば速いかな
インデックスは毎回計算しなくてもいいけど
numpyでboard[board!='.']=np.fliplr(board)[np.fliplr(board)!='.']とかやれば速いかな
インデックスは毎回計算しなくてもいいけど
319デフォルトの名無しさん
2018/05/10(木) 16:30:45.02ID:qHVZoDSH320デフォルトの名無しさん
2018/05/10(木) 16:47:50.18ID:Ulb5C2sT そりゃあ
numpyの本体はC言語だしなぁ・・・
numpyの本体はC言語だしなぁ・・・
321デフォルトの名無しさん
2018/05/10(木) 17:33:52.68ID:qHVZoDSH 本当は数値計算みたいにもっと速い命令を使ってくれるかなと期待してたんだけど
そういう上手くはいかなかった
そういう上手くはいかなかった
322デフォルトの名無しさん
2018/05/10(木) 17:50:15.92ID:I+4Qxgba323316
2018/05/10(木) 18:04:31.86ID:CLWEept/324デフォルトの名無しさん
2018/05/10(木) 18:30:24.64ID:O+ANAa9X じゃあArray版作るか…
思ったんだけどこれWebGLでGPU計算出来るかな?いやGPGPU向きの問題かどうかすら分かんないんだけど詳しい人いるかと思って。
思ったんだけどこれWebGLでGPU計算出来るかな?いやGPGPU向きの問題かどうかすら分かんないんだけど詳しい人いるかと思って。
325デフォルトの名無しさん
2018/05/10(木) 20:41:39.42ID:CLWEept/ >>275
J
left =: (((#~-.),(#~))'.'&=)"1
right =: (((#~),(#~-.))'.'&=)"1
solve =: 3 : 0
:
if. (#x) = 0 do. y return. end.
action =. {. x
actions_left =. }. x
if. action = 'U' do. board =. |: left |: y
elseif. action = 'D' do. board =. |: right |: y
elseif. action = 'L' do. board =. left y
elseif. action = 'R' do. board =. right y
end.
actions_left solve board
)
Cシングルスレッド版の3.5〜6.6倍遅い
アクション(256個)そのまま
4.242秒
最適化した URDLURDLU を使用
0.161秒
https://%62it.ly/2rybKgZ
J
left =: (((#~-.),(#~))'.'&=)"1
right =: (((#~),(#~-.))'.'&=)"1
solve =: 3 : 0
:
if. (#x) = 0 do. y return. end.
action =. {. x
actions_left =. }. x
if. action = 'U' do. board =. |: left |: y
elseif. action = 'D' do. board =. |: right |: y
elseif. action = 'L' do. board =. left y
elseif. action = 'R' do. board =. right y
end.
actions_left solve board
)
Cシングルスレッド版の3.5〜6.6倍遅い
アクション(256個)そのまま
4.242秒
最適化した URDLURDLU を使用
0.161秒
https://%62it.ly/2rybKgZ
326デフォルトの名無しさん
2018/05/10(木) 21:02:14.89ID:0yLDhGJt Jが…Jがちゃんとプログラミング言語しとるw
327デフォルトの名無しさん
2018/05/10(木) 21:44:01.34ID:CLWEept/ 先頭2行のJらしい部分の解説
文字列を.と等しいか('.'&=)でマスク(#~)
(#~'.'&=) '..a.b' => '...'
その論理否定(-.)でマスク
((#~-.)'.'&=) '..a.b' => 'ab'
,で繋げる
(((#~),(#~-.))'.'&=) '..a.b' => '...ab'
これで右寄せ。反対に繋げれば左寄せ。
直感的で 読 み や す い
文字列を.と等しいか('.'&=)でマスク(#~)
(#~'.'&=) '..a.b' => '...'
その論理否定(-.)でマスク
((#~-.)'.'&=) '..a.b' => 'ab'
,で繋げる
(((#~),(#~-.))'.'&=) '..a.b' => '...ab'
これで右寄せ。反対に繋げれば左寄せ。
直感的で 読 み や す い
328デフォルトの名無しさん
2018/05/10(木) 21:52:47.05ID:O+ANAa9X えー直感ってなんだっけ…
329デフォルトの名無しさん
2018/05/11(金) 02:07:15.57ID:9bxegKCD 第六感的に読みやすいな
330デフォルトの名無しさん
2018/05/12(土) 10:11:54.49ID:bX5i+Zj+ 2つの普通のサイコロを
面と面をくっつけて直方体を作る
何種類の異なる直方体ができるか?
回転して同じものは同じ種類とする
面と面をくっつけて直方体を作る
何種類の異なる直方体ができるか?
回転して同じものは同じ種類とする
331デフォルトの名無しさん
2018/05/12(土) 10:31:53.41ID:Hl4HQ1Ge >>330 PHP
84
84
332デフォルトの名無しさん
2018/05/12(土) 10:56:43.70ID:pDgCeBjY 共同ツール 1
https://seleck.cc/685
https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり
共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/
共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/
https://seleck.cc/685
https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり
共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/
共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/
333デフォルトの名無しさん
2018/05/12(土) 11:33:58.65ID:R/twbybb >>332
アフィ
アフィ
334デフォルトの名無しさん
2018/05/12(土) 12:19:44.55ID:QiJLTR+N >>330
無限
無限
335デフォルトの名無しさん
2018/05/12(土) 13:04:25.66336デフォルトの名無しさん
2018/05/12(土) 13:50:20.72ID:UoMtV9Kh337デフォルトの名無しさん
2018/05/12(土) 15:39:30.07ID:TjVuoOYn まず数学的に考えると、6面の内の一面がくっつくのでこれで6種で、更にくっ付けられる面が6面なので6倍。そして4回回転できるので更に4倍。しかし同じ値の面がくっついた時はお互いに回転させても同じのができるのでこれを引く。
とすると6*6*4-6*4=6*4*(6-1)=6*4*5=120でいいのかな。
とすると6*6*4-6*4=6*4*(6-1)=6*4*5=120でいいのかな。
338デフォルトの名無しさん
2018/05/12(土) 15:42:14.83ID:TjVuoOYn ま、しかし、数学的に答え出しちゃったらプログラム作る意味なくなるような気がするので全パターン作って確かめるようなの作るか。
339デフォルトの名無しさん
2018/05/12(土) 15:53:15.44ID:sI+Q43v8 >>337
なんか違う
なんか違う
340デフォルトの名無しさん
2018/05/12(土) 15:57:15.26ID:KWlgK9zD プログラム的な最適解って難しい
341デフォルトの名無しさん
2018/05/12(土) 16:11:04.18ID:TD+PjePm プログラムでやる意味がまったくないな
342デフォルトの名無しさん
2018/05/12(土) 17:25:20.83 >>337
1-1
1-2 2-2
1-3 2-3 3-3
1-4 2-4 3-4 4-4
1-5 2-5 3-5 4-5 5-5
1-6 2-6 3-6 4-6 5-6 6-6
すなわち (6+5+4+3+2+1)×4面
1-1
1-2 2-2
1-3 2-3 3-3
1-4 2-4 3-4 4-4
1-5 2-5 3-5 4-5 5-5
1-6 2-6 3-6 4-6 5-6 6-6
すなわち (6+5+4+3+2+1)×4面
343KAC
2018/05/12(土) 17:50:27.68ID:7sNFtIfC344デフォルトの名無しさん
2018/05/12(土) 18:04:42.08ID:TjVuoOYn345デフォルトの名無しさん
2018/05/12(土) 18:38:44.14 >>344
くっついている面の組み合わせ(サイコロを2つ振って出る目と同じ)×4回転
くっついている面の組み合わせ(サイコロを2つ振って出る目と同じ)×4回転
346デフォルトの名無しさん
2018/05/12(土) 18:57:16.30ID:TjVuoOYn >>345
あ、そうか。例えば1、6は6、1と同じか。
あ、そうか。例えば1、6は6、1と同じか。
347デフォルトの名無しさん
2018/05/12(土) 19:09:45.48ID:TjVuoOYn 6*7/2*4=6*7*2=84てことだな。
じゃ、あとは無理矢理全パターン出して全件チェックするブルートフォースなプログラムでもゆっくり作るとするか。
じゃ、あとは無理矢理全パターン出して全件チェックするブルートフォースなプログラムでもゆっくり作るとするか。
348347
2018/05/13(日) 03:37:21.95ID:YKXy/MBP 散々考えて作ったプログラムで 96 と結果が出てしまい、何がどう間違ってるのか探すの面倒なのでとりあえず休止。
またその内気が向いたらやってみよう。
またその内気が向いたらやってみよう。
349デフォルトの名無しさん
2018/05/13(日) 17:57:36.41ID:lW+v/TK4 よくある総当たり戦の試合数を求める問題の変形だろ
いくらなんでも算数レベルはさすがに・・・
いくらなんでも算数レベルはさすがに・・・
350デフォルトの名無しさん
2018/05/13(日) 19:10:48.15ID:IsC8XoQl 算数レベルだと不満があるみたいなので類題を
正五胞体の各面に1〜10の番号が振られたサイコロが2つある
2つの正五胞体の面を合わせて新たな多胞体を作るとき、
面の模様の組み合わせ合わせてを合わせて何通り作ることができるか求めよ
正五胞体の各面に1〜10の番号が振られたサイコロが2つある
2つの正五胞体の面を合わせて新たな多胞体を作るとき、
面の模様の組み合わせ合わせてを合わせて何通り作ることができるか求めよ
351デフォルトの名無しさん
2018/05/13(日) 20:08:59.23ID:lW+v/TK4 面を合わせる操作で胞はどうなるんだろう
模範解答が欲しいな
模範解答が欲しいな
352デフォルトの名無しさん
2018/05/13(日) 20:10:50.40ID:cJXb3A6I O(1)でない問題に挑みたい
353デフォルトの名無しさん
2018/05/13(日) 20:28:41.70ID:hMSQZ6aL 無理だろ
問題のクラスがどこに属するかを確かめてから……ってのは
問題のクラスがどこに属するかを確かめてから……ってのは
354デフォルトの名無しさん
2018/05/13(日) 20:48:58.34ID:HhTyaKjT 出題者がわからなくてどうする
355デフォルトの名無しさん
2018/05/13(日) 22:02:39.26 出題者は学校の宿題をコピペしてるだけなんだからそんなの分かるわけないだろw
356デフォルトの名無しさん
2018/05/13(日) 23:15:41.18ID:KchYOj5S 円周上の格子点を求めるプログラムをしこしこ作ってるが、
マルチスレッドで動かしたらPentium G6950とAtom x5-Z8350タブレットでほとんど変わらなくて(´・ω・`)
マルチスレッドで動かしたらPentium G6950とAtom x5-Z8350タブレットでほとんど変わらなくて(´・ω・`)
357デフォルトの名無しさん
2018/05/13(日) 23:18:59.24ID:VV8A9gRv どのお題?
358デフォルトの名無しさん
2018/05/13(日) 23:27:47.10ID:R9SlBBi+ これか
「自然数Nに対して、平面上の円で、その円周上の整数点がちょうどN個となる円の最小半径を求めよ」
例)
x^2 + y^2 = 1の整数点は4つだがN=4の最小半径ではない。
(x-0.5)^2 + (y-0.5)^2 = 0.5の方が小さい。 4点は(0,0) (1,0) (0,1) (1,1)
「自然数Nに対して、平面上の円で、その円周上の整数点がちょうどN個となる円の最小半径を求めよ」
例)
x^2 + y^2 = 1の整数点は4つだがN=4の最小半径ではない。
(x-0.5)^2 + (y-0.5)^2 = 0.5の方が小さい。 4点は(0,0) (1,0) (0,1) (1,1)
359デフォルトの名無しさん
2018/05/13(日) 23:55:53.09ID:VV8A9gRv ああ、自称数学が出来る人がアホな事を言ってたヤツだな
最小値は存在しないとか
最小値が存在する証明は簡単だとか言いつつまったく出来てなかったり
最小値は存在しないとか
最小値が存在する証明は簡単だとか言いつつまったく出来てなかったり
360デフォルトの名無しさん
2018/05/13(日) 23:57:36.72ID:VV8A9gRv 全く解いてないけど
力業しか方法は無いのかな?
AVX512とかGPUとか使えたりする?
力業しか方法は無いのかな?
AVX512とかGPUとか使えたりする?
362デフォルトの名無しさん
2018/05/14(月) 00:04:15.31ID:1oWMeidW まだ続けるのその話題?
363デフォルトの名無しさん
2018/05/14(月) 00:07:14.94ID:1oWMeidW365デフォルトの名無しさん
2018/05/14(月) 02:08:50.73ID:nPZzHRVa366デフォルトの名無しさん
2018/05/14(月) 03:17:23.56ID:UX/qtCoA >>364
やるならよそで個人的にやってくれ
やるならよそで個人的にやってくれ
367デフォルトの名無しさん
2018/05/14(月) 07:14:36.98ID:n+3GdDup なんか最小値とかでよほど辛い目にあったんだろうなw
>>365
続けます、今必死に
http://www.eng.niigata-u.ac.jp/~nomoto/2.html
を理解しようとしています、とてもつらいです、涙が知らず知らず頬を伝っているありさまです…
続けます、今必死に
http://www.eng.niigata-u.ac.jp/~nomoto/2.html
を理解しようとしています、とてもつらいです、涙が知らず知らず頬を伝っているありさまです…
369デフォルトの名無しさん
2018/05/14(月) 17:12:13.58ID:BXZtNaWp せんせーともども数学板へどうぞ。
こいつら異世界転生もののアニメ見てそうだなワラ
こいつら異世界転生もののアニメ見てそうだなワラ
370デフォルトの名無しさん
2018/05/14(月) 21:15:20.93ID:1oWMeidW 数学の専門家が高見の見物
371デフォルトの名無しさん
2018/05/14(月) 21:29:45.96ID:EDnTjcK4 仲間内じゃうだつが上がらないのかな、誉められたくてこんなとこまで来てチンコしごいてんのか気持ち悪い。
リアルで軽んじられてる理由が透けて見えるよ。ほんと迷惑な話。
リアルで軽んじられてる理由が透けて見えるよ。ほんと迷惑な話。
372デフォルトの名無しさん
2018/05/14(月) 21:36:42.92ID:LqzdTatP >>369みたいなアニオタは巣から出てくるな 不快な上に真面目に気持ち悪いわ
373デフォルトの名無しさん
2018/05/14(月) 23:27:31.52ID:ByoIoZVn お題
辺の長さと面の面積と体積の全てが整数である4面体を求める
辺の長さと面の面積と体積の全てが整数である4面体を求める
374デフォルトの名無しさん
2018/05/14(月) 23:35:45.52ID:D3cFptH9375デフォルトの名無しさん
2018/05/15(火) 00:31:02.93ID:joZeDATc376デフォルトの名無しさん
2018/05/15(火) 00:50:44.33ID:cUJCQZWv377デフォルトの名無しさん
2018/05/15(火) 01:12:11.74ID:/OJ/weUW 数学コンプがプログラミングに逃げたが
やっぱり数学からは逃れられなかっただけ
やっぱり数学からは逃れられなかっただけ
378デフォルトの名無しさん
2018/05/15(火) 02:50:42.43ID:cltBdwph お題
(1) 入力された英数字([A-Z0-9])をモールス信号を表す文字列に変換する。大文字小文字は区別しない。
記号は変換出来なくても良い。また数字の略体は不要。短点と長点には何の文字を使っても良いが、
なるべく分かり易くするために「・」、「−」等にすること。
(2) (1)で作ったモールス信号を表す文字列の逆変換。
(3) 和文版の(1)と(2)
欧文、和文モールス符号については下記ページ参照
https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%BC%E3%83%AB%E3%82%B9%E7%AC%A6%E5%8F%B7
(1) 入力された英数字([A-Z0-9])をモールス信号を表す文字列に変換する。大文字小文字は区別しない。
記号は変換出来なくても良い。また数字の略体は不要。短点と長点には何の文字を使っても良いが、
なるべく分かり易くするために「・」、「−」等にすること。
(2) (1)で作ったモールス信号を表す文字列の逆変換。
(3) 和文版の(1)と(2)
欧文、和文モールス符号については下記ページ参照
https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%BC%E3%83%AB%E3%82%B9%E7%AC%A6%E5%8F%B7
379デフォルトの名無しさん
2018/05/15(火) 03:49:05.69ID:76+B/frM380デフォルトの名無しさん
2018/05/15(火) 06:03:50.51ID:4dx/yUcE381デフォルトの名無しさん
2018/05/15(火) 07:41:42.24ID:joZeDATc382デフォルトの名無しさん
2018/05/15(火) 09:34:19.74ID:iN3NVkNj その自称数学の専門家がなんでまたこんな場違いな板のスレに粘着してんの?
お前も実は数学コンプなんだろ
お前も実は数学コンプなんだろ
383デフォルトの名無しさん
2018/05/15(火) 09:38:30.52ID:Jeovbfag もう数学問題に特化したお題スレ作った方が良いのでは?
384デフォルトの名無しさん
2018/05/15(火) 09:53:16.24ID:EjMHQE21 >>373
無い
無い
385デフォルトの名無しさん
2018/05/15(火) 11:30:36.04ID:CWT5ZUHq386デフォルトの名無しさん
2018/05/15(火) 11:38:20.20ID:WUGOR4JP プログラム板で文字化けさせてる人って
387デフォルトの名無しさん
2018/05/15(火) 11:53:09.77ID:euWa7j5X >>385
いちいちID変えてる時点でこいつが誰なのかすぐに分かってしまいますね
いちいちID変えてる時点でこいつが誰なのかすぐに分かってしまいますね
388デフォルトの名無しさん
2018/05/15(火) 11:53:29.05ID:s5avjWfm 全角の「ない」は化けていないのに不思議?不思議?
389デフォルトの名無しさん
2018/05/15(火) 12:43:26.80ID:hqwVUKF+ 円マークかな?Unicodeだとバックスラッシュとはコードが違うよね。
390デフォルトの名無しさん
2018/05/15(火) 12:45:53.43ID:hqwVUKF+ 前にLinuxの端末でバックスラッシュと円マークの両方が半角で普通に両方入力できて驚いたことがある。やっとまともになったのかとw
391デフォルトの名無しさん
2018/05/15(火) 13:01:00.15ID:CWT5ZUHq ??
\
¥
\
¥
392デフォルトの名無しさん
2018/05/15(火) 13:02:18.78ID:CWT5ZUHq なぜ化ける
393デフォルトの名無しさん
2018/05/15(火) 13:04:01.28ID:CWT5ZUHq394デフォルトの名無しさん
2018/05/15(火) 13:05:37.32ID:CiGj6Ypo datをバイナリエディタで見たら化けてる所は 0xfc 0xfc になってるが、なぜそれになるのかは知らん。
395デフォルトの名無しさん
2018/05/15(火) 13:26:15.15ID:hqwVUKF+ ていうかC言語等の文字のエスケープに使う文字は本来であればバックスラッシュだ。
円マークになってる入門書等が多い理由は歴史的な理由による。
どういう歴史的理由かは長くなるので省略。
円マークになってる入門書等が多い理由は歴史的な理由による。
どういう歴史的理由かは長くなるので省略。
396デフォルトの名無しさん
2018/05/15(火) 13:58:57.23ID:CWT5ZUHq 中途半端な知識で語りたがりが多いな
数学といい文字コードといい
数学といい文字コードといい
397デフォルトの名無しさん
2018/05/15(火) 14:59:41.39ID:anwetN0E398デフォルトの名無しさん
2018/05/15(火) 15:00:25.50ID:s5avjWfm 5chなんだから
じゃんじゃん語るべき
じゃんじゃん語るべき
399デフォルトの名無しさん
2018/05/15(火) 15:13:17.78ID:CiGj6Ypo "\" 円(U+00A5)
"\" バックスラッシュ(U+005C)
"\" バックスラッシュ(U+005C)
400デフォルトの名無しさん
2018/05/15(火) 15:14:24.36ID:CiGj6Ypo 両方U+005Cにされたw
401デフォルトの名無しさん
2018/05/15(火) 16:23:07.72ID:eMeQgyCY SIPやアプリや5chがどういう文字コードを扱ってどういう変換をしてるかがわからん
これは調べたり実験しないと
教えたがりの書き込みは全く役に立ってないから
書かなくて良いよ
釈迦に説法
これは調べたり実験しないと
教えたがりの書き込みは全く役に立ってないから
書かなくて良いよ
釈迦に説法
402デフォルトの名無しさん
2018/05/15(火) 17:54:36.17ID:SykJSNjw403デフォルトの名無しさん
2018/05/15(火) 18:01:31.83ID:44/Iysj7 できますん
404デフォルトの名無しさん
2018/05/15(火) 18:18:50.58ID:GoFwWa3N 5ch はシフトJISだから1バイトのバックスラッシュは基本書けないし読めない
(U+00A5に対応する文字コードがない)
実体参照の使用が許可されてる板なら実体参照でU+00A5の字も書ける
fcfc はわかんないな
ググるとfcfcはシフトjisのibm拡張文字領域で、
aixの修正された不具合の説明で文字コード変換の際に
意味のないコードfcfcになるのがどうのこうのというページがあったから
libicu(ibmの文字コード関係ライブラリ。割と広く使われている)で
そういう不具合のあるバージョンがあるんだろうな
(U+00A5に対応する文字コードがない)
実体参照の使用が許可されてる板なら実体参照でU+00A5の字も書ける
fcfc はわかんないな
ググるとfcfcはシフトjisのibm拡張文字領域で、
aixの修正された不具合の説明で文字コード変換の際に
意味のないコードfcfcになるのがどうのこうのというページがあったから
libicu(ibmの文字コード関係ライブラリ。割と広く使われている)で
そういう不具合のあるバージョンがあるんだろうな
405デフォルトの名無しさん
2018/05/15(火) 18:28:51.68ID:KcubxIhK テキストファイルっていっぱい種類あるね
406デフォルトの名無しさん
2018/05/15(火) 18:34:45.23ID:GoFwWa3N407デフォルトの名無しさん
2018/05/15(火) 19:26:38.75ID:CiGj6Ypo >>404
U+00A5がYen signじゃろ…
U+00A5がYen signじゃろ…
408デフォルトの名無しさん
2018/05/15(火) 19:52:19.95 この板ではバックスラッシュも円マークも両方書き込める
実例↓
文字コード総合スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1516629503/116
実例↓
文字コード総合スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1516629503/116
409デフォルトの名無しさん
2018/05/15(火) 20:10:00.78ID:r6+CqG6i \\\\\\\\
できるかな?
できるかな?
410デフォルトの名無しさん
2018/05/15(火) 20:10:17.25ID:r6+CqG6i お。できた。
411デフォルトの名無しさん
2018/05/15(火) 20:33:46.64ID:sy5AMFlu 日本人にも責任がある
【666の獣トランプ涙目w】 2000年ぶりにWあの漢″帰郷の噂… <再臨> イスラエル、また処刑する!?
http://rosie.5ch.net/test/read.cgi/liveplus/1526351394/l50
【666の獣トランプ涙目w】 2000年ぶりにWあの漢″帰郷の噂… <再臨> イスラエル、また処刑する!?
http://rosie.5ch.net/test/read.cgi/liveplus/1526351394/l50
412デフォルトの名無しさん
2018/05/15(火) 21:02:46.10ID:GoFwWa3N413デフォルトの名無しさん
2018/05/15(火) 21:10:05.44ID:GoFwWa3N バックスラッシュと言えば Visual Studio で c のソース編集時に
バックスラッシュが表示されてて、文字コードはshift jisなのに何故?
と思ってたが Visual Studio では0x5Cがどっちで表示されるかはフォント任せなんだな
shift jis (cp932) では円マークと規定されてるのに。
バックスラッシュが表示されてて、文字コードはshift jisなのに何故?
と思ってたが Visual Studio では0x5Cがどっちで表示されるかはフォント任せなんだな
shift jis (cp932) では円マークと規定されてるのに。
414デフォルトの名無しさん
2018/05/15(火) 21:31:34.51ID:K0qtXPJ7 >>396
何事も、ニワカな奴ほど語りたがるからしゃーない
何事も、ニワカな奴ほど語りたがるからしゃーない
415デフォルトの名無しさん
2018/05/15(火) 23:45:05.24ID:1bAdW6Zs 数学コンプだけじゃなくて文字コードコンプまで発症したのかw
416デフォルトの名無しさん
2018/05/16(水) 00:37:59.02ID:G4b5C/G+ 頭がおかしいんだから仕方ないね
精神科のお薬飲んで寝ろ
精神科のお薬飲んで寝ろ
417デフォルトの名無しさん
2018/05/16(水) 00:41:48.15ID:Ncn1UiZB418デフォルトの名無しさん
2018/05/16(水) 00:54:59.23ID:tDn46mBr 禁煙の立て札の前でタバコを吸う数学奴文字コード奴であった。
419デフォルトの名無しさん
2018/05/16(水) 01:24:47.67420デフォルトの名無しさん
2018/05/16(水) 08:04:36.25ID:PomcYnKY そんなに数学挑みたいならこれでもどうぞ
お題
2つ以上の正の整数が与えられる
この時、最後を除く自然数に対し四則演算及び括弧を使い数式を作ることで、最後の自然数と同値にせよ
複数の数式が考えられる場合、どれか1個を出力すれば良い
入力例1: 5 2 3 3 10
出力例1: -5+(2+3)*3=10
入力例2: 0 1
出力例2: Impossible
お題
2つ以上の正の整数が与えられる
この時、最後を除く自然数に対し四則演算及び括弧を使い数式を作ることで、最後の自然数と同値にせよ
複数の数式が考えられる場合、どれか1個を出力すれば良い
入力例1: 5 2 3 3 10
出力例1: -5+(2+3)*3=10
入力例2: 0 1
出力例2: Impossible
421デフォルトの名無しさん
2018/05/16(水) 09:13:18.66ID:hkrElRSY だから数学問題は新スレ作ってそっちでやれって。
422デフォルトの名無しさん
2018/05/16(水) 09:43:42.04ID:L2yt4rd4 飲食禁止の貼り紙の前でクチャクチャと音を立ててキムチを食す数学奴
423デフォルトの名無しさん
2018/05/16(水) 09:51:29.86ID:9Q3+56hM 極度の数学コンプとそれを煽る人達のせいで訳わからなくなってるな
数学コンプの人らは数学に関するすべてを禁止したスレを立ててそっちに移住したほうが平和なんじゃないの
数学コンプの人らは数学に関するすべてを禁止したスレを立ててそっちに移住したほうが平和なんじゃないの
424デフォルトの名無しさん
2018/05/16(水) 09:54:01.27ID:+2MSwW5R スレが荒れるなら分岐したほうがいいのかね
プログラミングのお題スレ(数学)
みたいに
あんまり人がいないなら別にこのスレでも良いと思うがな(俺は)
プログラミングのお題スレ(数学)
みたいに
あんまり人がいないなら別にこのスレでも良いと思うがな(俺は)
425デフォルトの名無しさん
2018/05/16(水) 09:55:32.06ID:+2MSwW5R426デフォルトの名無しさん
2018/05/16(水) 09:57:33.06ID:OColoMR4 プログラミングのお題には数学要素のあるもの多いな
427デフォルトの名無しさん
2018/05/16(水) 10:38:31.46ID:wFCVkaLn >>420と同じようなのをやった気がするなとログ探したらやっぱりやってた…3年以上前やw
プログラミングのお題スレ Part6(c)2ch.net
https://peace.5ch.net/test/read.cgi/tech/1418278634/148,703
プログラミングのお題スレ Part6(c)2ch.net
https://peace.5ch.net/test/read.cgi/tech/1418278634/148,703
428デフォルトの名無しさん
2018/05/16(水) 11:00:45.42ID:ZRgXOqOF >>426
数学要素があること自体はいいんだけど、数学的に解いたら後は手計算の代わりに入出力と演算をプログラムにやらせるだけっていうお題は興醒めというか面白味がないね。
数学要素があること自体はいいんだけど、数学的に解いたら後は手計算の代わりに入出力と演算をプログラムにやらせるだけっていうお題は興醒めというか面白味がないね。
429デフォルトの名無しさん
2018/05/16(水) 11:20:13.71ID:+GN46IIl でもO(1)かどうか確かめられない人がほとんどなんでしょう
430デフォルトの名無しさん
2018/05/16(水) 11:37:48.24ID:OColoMR4 お題スレ Part9 では、
tan() の値が有理数になる場合についての
数学的証明が活発に議論されていたな
tan() の値が有理数になる場合についての
数学的証明が活発に議論されていたな
431デフォルトの名無しさん
2018/05/16(水) 12:03:53.05 数学者がプログラミングの領域にしゃしゃり出てくんなや
プログラミングはExcel方眼紙を操る文系の神聖不可侵領域なんや
プログラミングはExcel方眼紙を操る文系の神聖不可侵領域なんや
432デフォルトの名無しさん
2018/05/16(水) 12:05:10.39ID:OGup9rVZ ディープラーニングとかAIとかモロ数学(知識)では?
434デフォルトの名無しさん
2018/05/16(水) 13:00:55.70ID:danjk40Q プログラミングも一応数学の一部ではあるけどな。計算手順だし。
しかしプログラミングのお題として数学問題そのまま出されると数学的に頭で考えるだけで解けてしまってあまり意味がないだろう。
コンピュータに計算をさせるという要素がなくなりプログラミングのお題にならない。それは数学のお題だ。
しかしプログラミングのお題として数学問題そのまま出されると数学的に頭で考えるだけで解けてしまってあまり意味がないだろう。
コンピュータに計算をさせるという要素がなくなりプログラミングのお題にならない。それは数学のお題だ。
435デフォルトの名無しさん
2018/05/16(水) 13:15:33.84ID:sHhzsQ4l436デフォルトの名無しさん
2018/05/16(水) 13:38:52.63ID:qWxCSmvP >>420
「同値」の意味くらいは知っておいた方が良いかと
「同値」の意味くらいは知っておいた方が良いかと
437デフォルトの名無しさん
2018/05/16(水) 13:41:34.46ID:qWxCSmvP438デフォルトの名無しさん
2018/05/16(水) 13:50:27.54ID:danjk40Q 数学ってアルゴリズム考える所までで終わりじゃない?算数や物理じゃないから式に値を入れて計算して答えを出す所までやる必要がなくて、式そのものを求めて終わり。
439デフォルトの名無しさん
2018/05/16(水) 16:05:28.01ID:VFom9laO440デフォルトの名無しさん
2018/05/16(水) 16:31:09.13ID:+2MSwW5R プログラミング的な試行錯誤のあるお題を考えるのって難しくない?
まぁ俺には数学的なお題を考えるのも難しいが
まぁ俺には数学的なお題を考えるのも難しいが
441デフォルトの名無しさん
2018/05/16(水) 16:45:00.22ID:FMmnnu2E あらら、やっぱ>>420はもう出てたか
よくある設定だし既出かもなーとは思ったが
よくある設定だし既出かもなーとは思ったが
442デフォルトの名無しさん
2018/05/16(水) 17:39:15.65ID:o2zART+W キムチ臭いアホが粘着しとるの〜
443デフォルトの名無しさん
2018/05/16(水) 17:57:39.97ID:GCTrNDIc >>439
まあ、式を複雑にしたのがアルゴリズムみたいなものかな。
で、コンピュータを使う理由は普通はプログラムを作るためではなくて、実際にプログラムを動かして計算させて結果を得るためだ。
正解となるプログラムを作った段階で終わりにはしない。
まあ、式を複雑にしたのがアルゴリズムみたいなものかな。
で、コンピュータを使う理由は普通はプログラムを作るためではなくて、実際にプログラムを動かして計算させて結果を得るためだ。
正解となるプログラムを作った段階で終わりにはしない。
444デフォルトの名無しさん
2018/05/16(水) 20:43:44.00ID:EIfldPOx 式とアルゴリズムは別物
計算アルゴリズムが存在しない式もある
計算アルゴリズムが存在しない式もある
445デフォルトの名無しさん
2018/05/16(水) 21:02:26.88ID:IfIzhtS9 >>443はネタでしょ?さすがにw
446デフォルトの名無しさん
2018/05/16(水) 21:57:47.05ID:+GN46IIl447デフォルトの名無しさん
2018/05/16(水) 22:02:29.19ID:9Q3+56hM448デフォルトの名無しさん
2018/05/16(水) 22:18:33.87 2回かどうかは知らんが、最後に2パターンのうちの一つを作って回転もしくは反転させるだけだわな
入力ごとに馬鹿正直に駒を動かすようなプログラムを組む奴は壊滅的にセンスが欠けている
入力ごとに馬鹿正直に駒を動かすようなプログラムを組む奴は壊滅的にセンスが欠けている
449デフォルトの名無しさん
2018/05/16(水) 22:20:40.95ID:RliGnokV 数学禁止
450デフォルトの名無しさん
2018/05/16(水) 22:21:06.29ID:9Q3+56hM >>448
題意を正しく理解していないね
題意を正しく理解していないね
451デフォルトの名無しさん
2018/05/16(水) 23:06:35.35ID:wFCVkaLn ごちゃごちゃ言う前にプログラム書けばええねん
452デフォルトの名無しさん
2018/05/16(水) 23:40:38.01ID:7XX9JZjA お題:
以下のように操作を繰り返して単一リストになったらその要素を返す
[1,2,3,4,5,6,7,8,9]
-> [5,1,13,2,21,3,29,4]
-> [16,16,41,1,66,38,91]
-> [8,8,124,69,33,19]
(中略)
-> [4,216]
-> [2]
テスト例:
[1,2,3,4,5,6,7,8,9] -> 2
[9,8,7,6,5,4,3,2,1] -> 2496
[3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6] -> ?
以下のように操作を繰り返して単一リストになったらその要素を返す
[1,2,3,4,5,6,7,8,9]
-> [5,1,13,2,21,3,29,4]
-> [16,16,41,1,66,38,91]
-> [8,8,124,69,33,19]
(中略)
-> [4,216]
-> [2]
テスト例:
[1,2,3,4,5,6,7,8,9] -> 2
[9,8,7,6,5,4,3,2,1] -> 2496
[3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6] -> ?
453デフォルトの名無しさん
2018/05/16(水) 23:47:47.04ID:BkqCgF0J 操作がわからん
454デフォルトの名無しさん
2018/05/17(木) 00:33:16.76ID:AhjFsLsi 操作を考える問題
と思う
と思う
455デフォルトの名無しさん
2018/05/17(木) 00:49:29.06ID:ZPdPUxd5456デフォルトの名無しさん
2018/05/17(木) 00:59:40.10457デフォルトの名無しさん
2018/05/17(木) 01:17:23.95ID:AhjFsLsi 誰でも簡単に出来るお題じゃあつまらんから
数学だったりパズルだったりの要素があってもいいかと
数学だったりパズルだったりの要素があってもいいかと
458デフォルトの名無しさん
2018/05/17(木) 01:18:03.17ID:AhjFsLsi 答えが出ちゃうとツマランな
459デフォルトの名無しさん
2018/05/17(木) 01:21:37.58ID:gNx9x5kd 自演じゃなくても疑われるぞ
460デフォルトの名無しさん
2018/05/17(木) 01:25:32.48461デフォルトの名無しさん
2018/05/17(木) 01:37:26.94ID:wTjk4UUR なぜ朝鮮人はプログラムを書かないのか
それは書かないからではなくて「書けない」からである
それは書かないからではなくて「書けない」からである
462デフォルトの名無しさん
2018/05/17(木) 02:42:47.50ID:OtjvMXsk >>456
算数クイズだな
算数クイズだな
463デフォルトの名無しさん
2018/05/17(木) 03:16:08.71ID:W4Rt98V+ >>450
題意はわかってるけど頭の中でコマを動かせないんだと思うぞ
題意はわかってるけど頭の中でコマを動かせないんだと思うぞ
464デフォルトの名無しさん
2018/05/17(木) 03:38:37.62ID:W4Rt98V+ >>488
例えばこんな風に動くとかわかる?
よく考えてみて
元のボード
abcdefghi.
12345678..
..........
'DRUL' 適用
1abcdefgh.
2345678i..
..........
もう一度'DRUL' 適用
21abcdefg.
345678ih..
..........
さらに'DRUL' 適用
321abcdef.
45678ihg..
..........
例えばこんな風に動くとかわかる?
よく考えてみて
元のボード
abcdefghi.
12345678..
..........
'DRUL' 適用
1abcdefgh.
2345678i..
..........
もう一度'DRUL' 適用
21abcdefg.
345678ih..
..........
さらに'DRUL' 適用
321abcdef.
45678ihg..
..........
465デフォルトの名無しさん
2018/05/17(木) 06:04:53.73ID:w9FSok0P466デフォルトの名無しさん
2018/05/17(木) 09:34:22.60ID:rKf91ggF 日本語の問題なんだろうなとは俺も思った。それにしてもちょっとでもコーディングしてみれば勘違いに気づきそうなものだが…
コーディングしない系プログラマなのか
コーディングしない系プログラマなのか
467デフォルトの名無しさん
2018/05/17(木) 09:59:33.05ID:hUdRfKOZ ×コーディングしない系プログラマ
◎コーディングはできない、プログラマでもない、人にいちゃもんつけるのが得意なだけの嫌われ者
◎コーディングはできない、プログラマでもない、人にいちゃもんつけるのが得意なだけの嫌われ者
468デフォルトの名無しさん
2018/05/17(木) 10:56:01.19ID:rKf91ggF ボコボコに突っ込まれてて得意でもなさそうだけどw
469デフォルトの名無しさん
2018/05/17(木) 12:19:48.40470デフォルトの名無しさん
2018/05/17(木) 18:14:45.68ID:vz9Ov7AZ このスレもう4年以上経つのか
時の流れって怖すぎだよな
時の流れって怖すぎだよな
471デフォルトの名無しさん
2018/05/17(木) 20:04:17.63ID:6aDUZAbl472デフォルトの名無しさん
2018/05/17(木) 20:12:27.33ID:3vBIE/+x473デフォルトの名無しさん
2018/05/17(木) 20:17:32.90ID:3vBIE/+x もちろんもっと少ないコマでも結果が16種より多くなる盤面はあるけど、
幾らでも多くなるよというのをイメージしやすいように大きめにした
幾らでも多くなるよというのをイメージしやすいように大きめにした
474デフォルトの名無しさん
2018/05/17(木) 23:21:27.20ID:R4VP18xe475デフォルトの名無しさん
2018/05/18(金) 00:07:34.10ID:c9tlPD2i476デフォルトの名無しさん
2018/05/18(金) 00:12:59.38ID:sQiKCRHm >>475
これ面白いな
これ面白いな
477デフォルトの名無しさん
2018/05/18(金) 00:27:29.87 お題
スペース区切りで入力された文字列をすべて含むリング状の文字列を出力し、
その後に、各入力文字列に対応するインデックスと長さを出力せよ
出力文字列の構成・格納順に関しては特に制約は設けない
インデックスと長さは出力文字列の先頭からの最短マッチで求める
[制約] (なくしてもいい)
文字列の構成文字は0と1の二種類とする
入力の各文字列長は最大9文字とする
入力要素数は最大255個とする
[入力例1]
0 1 01 10 111 1001
[出力例1]
01110
(0,1) (1,1) (0,2) (3,2) (1,3) (3,4)
[入力例2]
01 1000 1010 100 0 0010 110 0000 00 0111 101 0100 11 10 111 0110 1101 010 000 1 001 0001 011 1001 1011 1100
[出力例2]
010100001101110
(0,2) (3,4) (1,4) (3,3) (0,1) (14,4) (8,3) (4,4) (4,2) (10,4) (1,3) (2,4) (8,2) (1,2) (11,3) (7,4) (8,4) (0,3) (4,3) (1,1) (6,3) (5,4) (7,3) (13,4) (9,4) (12,4)
関連 >>378 >>419
スペース区切りで入力された文字列をすべて含むリング状の文字列を出力し、
その後に、各入力文字列に対応するインデックスと長さを出力せよ
出力文字列の構成・格納順に関しては特に制約は設けない
インデックスと長さは出力文字列の先頭からの最短マッチで求める
[制約] (なくしてもいい)
文字列の構成文字は0と1の二種類とする
入力の各文字列長は最大9文字とする
入力要素数は最大255個とする
[入力例1]
0 1 01 10 111 1001
[出力例1]
01110
(0,1) (1,1) (0,2) (3,2) (1,3) (3,4)
[入力例2]
01 1000 1010 100 0 0010 110 0000 00 0111 101 0100 11 10 111 0110 1101 010 000 1 001 0001 011 1001 1011 1100
[出力例2]
010100001101110
(0,2) (3,4) (1,4) (3,3) (0,1) (14,4) (8,3) (4,4) (4,2) (10,4) (1,3) (2,4) (8,2) (1,2) (11,3) (7,4) (8,4) (0,3) (4,3) (1,1) (6,3) (5,4) (7,3) (13,4) (9,4) (12,4)
関連 >>378 >>419
478デフォルトの名無しさん
2018/05/18(金) 07:59:42.69ID:C1d8hfuw479デフォルトの名無しさん
2018/05/18(金) 08:04:09.35ID:C1d8hfuw480デフォルトの名無しさん
2018/05/18(金) 08:20:20.07481デフォルトの名無しさん
2018/05/19(土) 01:06:44.60ID:YJKUc9vG >>478 です
とりあえずこれだけ出来ました
4770でシングルスレッドのC++で15分くらい
半径を倍にすると16倍くらいは時間がかかりそうなので
マルチスレッド&アセンブラ&AVXでガシガシに最適化したくらいじゃ
大して検索範囲は増えなそう
何かアイデアがないか考え中
----
3 : r=1.178511
4 : r=0.707107
5 : r=5.892557
6 : r=2.500000
7 : r=23.890677
8 : r=1.581139
9 : r=15.320647
10 : r=12.500000
11 : r=57.536370
12 : r=3.535534
13 : r=111.621856
14 : r=62.500000
15 : r=76.603235
16 : r=5.700877
18 : r=32.500000
20 : r=17.677670
24 : r=12.747549
28 : r=88.388348
32 : r=23.505319
36 : r=45.961941
40 : r=63.737744
48 : r=52.559490
64 : r=117.526593
とりあえずこれだけ出来ました
4770でシングルスレッドのC++で15分くらい
半径を倍にすると16倍くらいは時間がかかりそうなので
マルチスレッド&アセンブラ&AVXでガシガシに最適化したくらいじゃ
大して検索範囲は増えなそう
何かアイデアがないか考え中
----
3 : r=1.178511
4 : r=0.707107
5 : r=5.892557
6 : r=2.500000
7 : r=23.890677
8 : r=1.581139
9 : r=15.320647
10 : r=12.500000
11 : r=57.536370
12 : r=3.535534
13 : r=111.621856
14 : r=62.500000
15 : r=76.603235
16 : r=5.700877
18 : r=32.500000
20 : r=17.677670
24 : r=12.747549
28 : r=88.388348
32 : r=23.505319
36 : r=45.961941
40 : r=63.737744
48 : r=52.559490
64 : r=117.526593
482デフォルトの名無しさん
2018/05/19(土) 01:35:39.77ID:/t1Y5z0r ピタゴラス素数(4n+1型の素数、5、13など)は2乗和で表わせて。
逆に、2乗和(X^2+Y^2)は、2とピタゴラス素数の積の表わせる、もしくはこの問題を考える上でそれだけに限定していいとおもってる。
2^i * 5^j * 13^k * ・・・・をピタゴラス合成数と名付けると。
X^2 + Y^2 = ピタゴラス合成数、の解とその個数は比較的カンタンに求まる。
それを利用して、拡大(縮小)と並行させたやつで、最小半径を与えるのは全て表せるはず。
具体的には、上の解が求まっていれば、
(mx + a)^2 + (my +b)^2 = ピタゴラス合成数、の解と個数もそれなりの低コストでもとまる。
mの剰余を考えれば、解があるaとbの範囲も限定できる。
逆に、2乗和(X^2+Y^2)は、2とピタゴラス素数の積の表わせる、もしくはこの問題を考える上でそれだけに限定していいとおもってる。
2^i * 5^j * 13^k * ・・・・をピタゴラス合成数と名付けると。
X^2 + Y^2 = ピタゴラス合成数、の解とその個数は比較的カンタンに求まる。
それを利用して、拡大(縮小)と並行させたやつで、最小半径を与えるのは全て表せるはず。
具体的には、上の解が求まっていれば、
(mx + a)^2 + (my +b)^2 = ピタゴラス合成数、の解と個数もそれなりの低コストでもとまる。
mの剰余を考えれば、解があるaとbの範囲も限定できる。
483デフォルトの名無しさん
2018/05/19(土) 01:54:04.51ID:YJKUc9vG ノーヒント、全て自力で求めようと思ってたんだけど
だから競争って
まあいいや
使えそうなら使わせていただきます
だから競争って
まあいいや
使えそうなら使わせていただきます
484デフォルトの名無しさん
2018/05/19(土) 03:42:04.50ID:/t1Y5z0r ピタゴラス素数は2乗和であらわせて。
(a^2 + b^2) (x^2 + y^2) = (ax + by)^2 + (bx - ay)^2 が常に成立するので、
ピタゴラス素数と 2 = 1^2 + 1^2 の積で、新たな2乗和の式が作り出せる。
この式から、解とその個数も求まるはず。
しかし、これがわかっても最小値を求めるのは簡単ではないとおもう。かなりの計算量がいるはず。
(a^2 + b^2) (x^2 + y^2) = (ax + by)^2 + (bx - ay)^2 が常に成立するので、
ピタゴラス素数と 2 = 1^2 + 1^2 の積で、新たな2乗和の式が作り出せる。
この式から、解とその個数も求まるはず。
しかし、これがわかっても最小値を求めるのは簡単ではないとおもう。かなりの計算量がいるはず。
485デフォルトの名無しさん
2018/05/19(土) 03:53:23.91ID:/t1Y5z0r z = x + yiという複素数でいうと、このノルムは|
486デフォルトの名無しさん
2018/05/19(土) 03:56:11.86ID:/t1Y5z0r487デフォルトの名無しさん
2018/05/19(土) 07:41:40.76ID:b7x1I7X/ お題
ケブンリッジジェネレータ
知らない人のために解説すると、人間の認識力の問題で単語の最初と最後が正しいと途中の文字順序が違っていても正しい単語と見間違えるというのがある。
例えば「よこうそ」は「ようこそ」と見間違える。「およはう」は「おはよう」と見間違える。(これは違うと分かっていても見えてしまうという、空耳アワーの歌みたいでもある)。
以前2chでこのことについてケブンリッジで発見されたというような内容の文章がコピペされて広まり一時期有名になりそれ用の変換をするケブンリッジジェネレータのページ(JavaScriptで作られてたと思う)が作られたりもしていた。
今はもうないようだが今回のお題はこれである。つまり、入力された単語の最初と最後はそのままで途中の文字順序をランダムに入れ替えた結果を出力する。
日本語の文章は普通は単語と単語の間にスペースがないが、これについては処理を簡単にするためにスペースありで入力された文章しか正常に処理しないということにして良い。
ケブンリッジジェネレータ
知らない人のために解説すると、人間の認識力の問題で単語の最初と最後が正しいと途中の文字順序が違っていても正しい単語と見間違えるというのがある。
例えば「よこうそ」は「ようこそ」と見間違える。「およはう」は「おはよう」と見間違える。(これは違うと分かっていても見えてしまうという、空耳アワーの歌みたいでもある)。
以前2chでこのことについてケブンリッジで発見されたというような内容の文章がコピペされて広まり一時期有名になりそれ用の変換をするケブンリッジジェネレータのページ(JavaScriptで作られてたと思う)が作られたりもしていた。
今はもうないようだが今回のお題はこれである。つまり、入力された単語の最初と最後はそのままで途中の文字順序をランダムに入れ替えた結果を出力する。
日本語の文章は普通は単語と単語の間にスペースがないが、これについては処理を簡単にするためにスペースありで入力された文章しか正常に処理しないということにして良い。
488デフォルトの名無しさん
2018/05/19(土) 08:22:43.57ID:VUe7Kazw >>487 Ruby
str = <<~EOT
Alice was beginning to get very tired of sitting by her sister on the bank,
and of having nothing to do: once or twice she had peeped into the book
her sister was reading, but it had no pictures or conversations in it,
'and what is the use of a book,' thought Alice 'without pictures or
conversations?'
EOT
puts str.gsub(/(?<=\b\w)\w*(?=\w\b)/){|m| m.chars.shuffle.join}
#=>
Aclie was bngneniig to get very terid of sntitig by her seistr on the bnak,
and of hnvaig nnthoig to do: ocne or twcie she had ppeeed into the book
her sitser was rniadeg, but it had no piteucrs or cinsoentravos in it,
'and waht is the use of a book,' tohught Aclie 'wtihuot pricetus or
coenrovanstis?'
str = <<~EOT
Alice was beginning to get very tired of sitting by her sister on the bank,
and of having nothing to do: once or twice she had peeped into the book
her sister was reading, but it had no pictures or conversations in it,
'and what is the use of a book,' thought Alice 'without pictures or
conversations?'
EOT
puts str.gsub(/(?<=\b\w)\w*(?=\w\b)/){|m| m.chars.shuffle.join}
#=>
Aclie was bngneniig to get very terid of sntitig by her seistr on the bnak,
and of hnvaig nnthoig to do: ocne or twcie she had ppeeed into the book
her sitser was rniadeg, but it had no piteucrs or cinsoentravos in it,
'and waht is the use of a book,' tohught Aclie 'wtihuot pricetus or
coenrovanstis?'
489デフォルトの名無しさん
2018/05/20(日) 12:39:54.67ID:fjnXxBFP >>477
これってその条件内なら普通に最適解(圧縮度)出せる方法とか存在する?
これってその条件内なら普通に最適解(圧縮度)出せる方法とか存在する?
490デフォルトの名無しさん
2018/05/20(日) 12:52:52.72ID:+POqszb4 全通りやれば良い
491デフォルトの名無しさん
2018/05/21(月) 12:42:55.71ID:DBB0b89i >>487 Squeak/Pharo Smalltalk
| input nonLetters |
input := 'Alice was beginning to get very tired of sitting by her sister on the bank,
and of having nothing to do: once or twice she had peeped into the book
her sister was reading, but it had no pictures or conversations in it,
''and what is the use of a book,'' thought Alice ''without pictures or
conversations?'''.
nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters) inject: '' into: [:acc :token |
(token first isLetter and: [token size > 1])
ifTrue: [acc, (token first: 1), token allButFirst allButLast shuffled, (token last: 1)]
ifFalse: [acc, token]
]
"=> Ailce was beingnnig to get vrey tierd of sttinig by her seitsr on the bank,
and of hvanig nohintg to do: once or twice she had peeepd into the book
her seitsr was riaendg, but it had no piercuts or coitnevnarsos in it,
'and what is the use of a book,' thuoght Alice 'wtiohut ptriecus or
ctnaseinroovs?' "
| input nonLetters |
input := 'Alice was beginning to get very tired of sitting by her sister on the bank,
and of having nothing to do: once or twice she had peeped into the book
her sister was reading, but it had no pictures or conversations in it,
''and what is the use of a book,'' thought Alice ''without pictures or
conversations?'''.
nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters) inject: '' into: [:acc :token |
(token first isLetter and: [token size > 1])
ifTrue: [acc, (token first: 1), token allButFirst allButLast shuffled, (token last: 1)]
ifFalse: [acc, token]
]
"=> Ailce was beingnnig to get vrey tierd of sttinig by her seitsr on the bank,
and of hvanig nohintg to do: once or twice she had peeepd into the book
her seitsr was riaendg, but it had no piercuts or coitnevnarsos in it,
'and what is the use of a book,' thuoght Alice 'wtiohut ptriecus or
ctnaseinroovs?' "
492デフォルトの名無しさん
2018/05/21(月) 18:51:56.06ID:VDVE1q4f みんな日本語スルーしててワロタw
493デフォルトの名無しさん
2018/05/21(月) 20:02:50.47ID:I0TPptnw494デフォルトの名無しさん
2018/05/21(月) 21:16:17.93ID:FH7zIseK 円周を検索するする昔ながらのアルゴリズムとは?
495デフォルトの名無しさん
2018/05/21(月) 21:24:09.15ID:dve0ZlFL >>487 Squeak/Pharo Smalltalk 日本語文章処理例
| input nonLetters |
input := '以前2ch で このこと に ついて ケブンリッジ で はっけん された と いうような ないよう の ぶんしょう が コピペ されて ひろまり
いちじき ゆうめい になり それよう の へんかん を する ケブンリッジ ジェネレータ の ページ(Java Script で つくられ てたと 思う)が つくられ たりも していた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にゅうりょく された 単語 の さいしょ と 最後 は そのまま で とちゅう の もじじゅんじょ を ランダム に いれかえ た 結果 を しゅつりょく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に するため に スペース あり で にゅうりょく された ぶんしょう しか せいじょう に 処理 しない ということ に してよい。'.
nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters) inject: '' into: [:acc :token |
(token first isLetter and: [token size > 1])
ifTrue: [acc, (token first: 1), token allButFirst allButLast shuffled, (token last: 1)]
ifFalse: [acc, token]
]
"=> 以前2ch で このこと に ついて ケブリンッジ で はっけん された と いうような なよいう の ぶんょしう が コピペ されて ひろまり
いちじき ゆうめい になり そよれう の へかんん を する ケンブッリジ ジレェーネタ の ページ(Jvaa Spcirt で つくられ てたと 思う)が つくられ たりも しいてた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にりゅうょく された 単語 の さしいょ と 最後 は そのまま で とちゅう の もゅんじじじょ を ラダンム に いかれえ た 結果 を しょゅつりく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に すたるめ に スーペス あり で にゅうりょく された ぶしんょう しか せょじいう に 処理 しない といこうと に してよい。"
| input nonLetters |
input := '以前2ch で このこと に ついて ケブンリッジ で はっけん された と いうような ないよう の ぶんしょう が コピペ されて ひろまり
いちじき ゆうめい になり それよう の へんかん を する ケブンリッジ ジェネレータ の ページ(Java Script で つくられ てたと 思う)が つくられ たりも していた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にゅうりょく された 単語 の さいしょ と 最後 は そのまま で とちゅう の もじじゅんじょ を ランダム に いれかえ た 結果 を しゅつりょく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に するため に スペース あり で にゅうりょく された ぶんしょう しか せいじょう に 処理 しない ということ に してよい。'.
nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters) inject: '' into: [:acc :token |
(token first isLetter and: [token size > 1])
ifTrue: [acc, (token first: 1), token allButFirst allButLast shuffled, (token last: 1)]
ifFalse: [acc, token]
]
"=> 以前2ch で このこと に ついて ケブリンッジ で はっけん された と いうような なよいう の ぶんょしう が コピペ されて ひろまり
いちじき ゆうめい になり そよれう の へかんん を する ケンブッリジ ジレェーネタ の ページ(Jvaa Spcirt で つくられ てたと 思う)が つくられ たりも しいてた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にりゅうょく された 単語 の さしいょ と 最後 は そのまま で とちゅう の もゅんじじじょ を ラダンム に いかれえ た 結果 を しょゅつりく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に すたるめ に スーペス あり で にゅうりょく された ぶしんょう しか せょじいう に 処理 しない といこうと に してよい。"
496デフォルトの名無しさん
2018/05/21(月) 21:36:05.44 >>495
ランダムに入れ替えるのはいいけど、元の単語と同じ並びは排除しないと期待外れの出力になるね
ランダムに入れ替えるのはいいけど、元の単語と同じ並びは排除しないと期待外れの出力になるね
497デフォルトの名無しさん
2018/05/21(月) 22:08:38.80ID:GTjH0Q6M 完全にランダムなんだから、結果が同じ並びでもそのまま出力するのが筋だろ
変更するなら日本語の文章の方だ
変更するなら日本語の文章の方だ
498デフォルトの名無しさん
2018/05/21(月) 22:24:50.52ID:dve0ZlFL >>487 Squeak/Pharo Smalltalk 同じ並びは排除
| input nonLetters |
input := '以前2ch で このこと に ついて ケブンリッジ で はっけん された と いうような ないよう の ぶんしょう が コピペ されて ひろまり
いちじき ゆうめい になり それよう の へんかん を する ケブンリッジ ジェネレータ の ページ(Java Script で つくられ てたと 思う)が つくられ たりも していた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にゅうりょく された 単語 の さいしょ と 最後 は そのまま で とちゅう の もじじゅんじょ を ランダム に いれかえ た 結果 を しゅつりょく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に するため に スペース あり で にゅうりょく された ぶんしょう'.
nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters)
inject: ''
into: [:acc :token |
| middle |
(token first isLetter and: [token size > 3
and: [(middle := token copyFrom: 2 to: token size - 1) asSet size > 1]])
ifTrue: [
| shuffled |
[(shuffled := middle shuffled) = middle] whileTrue.
acc, (token first: 1), shuffled, (token last: 1)]
ifFalse: [acc, token]]
"=> 以前2ch で ここのと に ついて ケンブッリジ で はけっん された と いううよな なよいう の ぶしょんう が コピペ されて ひまろり
いじちき ゆめうい になり そよれう の へかんん を する ケリンッブジ ジネレェータ の ページ(Jvaa Srcpit で つらくれ てたと 思う)が つらくれ たりも しいてた。
今 は もなうい よだうが こかんい の お題 は これ である。つまり、にりょうゅく された 単語 の さしいょ と 最後 は そまのま で とゅちう の もじじんゅじょ を ラダンム に いかれえ た 結果 を しょつゅりく する。
にんほご の ぶしんょう は 普通 は 単語 と 単語 の 間 に スーペス が ないが、これ に つていは 処理 を かたんん に すたるめ に スーペス あり で にうりょゅく された ぶょんしう"
| input nonLetters |
input := '以前2ch で このこと に ついて ケブンリッジ で はっけん された と いうような ないよう の ぶんしょう が コピペ されて ひろまり
いちじき ゆうめい になり それよう の へんかん を する ケブンリッジ ジェネレータ の ページ(Java Script で つくられ てたと 思う)が つくられ たりも していた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にゅうりょく された 単語 の さいしょ と 最後 は そのまま で とちゅう の もじじゅんじょ を ランダム に いれかえ た 結果 を しゅつりょく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に するため に スペース あり で にゅうりょく された ぶんしょう'.
nonLetters := input reject: #isLetter.
(input findTokens: nonLetters keep: nonLetters)
inject: ''
into: [:acc :token |
| middle |
(token first isLetter and: [token size > 3
and: [(middle := token copyFrom: 2 to: token size - 1) asSet size > 1]])
ifTrue: [
| shuffled |
[(shuffled := middle shuffled) = middle] whileTrue.
acc, (token first: 1), shuffled, (token last: 1)]
ifFalse: [acc, token]]
"=> 以前2ch で ここのと に ついて ケンブッリジ で はけっん された と いううよな なよいう の ぶしょんう が コピペ されて ひまろり
いじちき ゆめうい になり そよれう の へかんん を する ケリンッブジ ジネレェータ の ページ(Jvaa Srcpit で つらくれ てたと 思う)が つらくれ たりも しいてた。
今 は もなうい よだうが こかんい の お題 は これ である。つまり、にりょうゅく された 単語 の さしいょ と 最後 は そまのま で とゅちう の もじじんゅじょ を ラダンム に いかれえ た 結果 を しょつゅりく する。
にんほご の ぶしんょう は 普通 は 単語 と 単語 の 間 に スーペス が ないが、これ に つていは 処理 を かたんん に すたるめ に スーペス あり で にうりょゅく された ぶょんしう"
499デフォルトの名無しさん
2018/05/21(月) 22:46:17.95ID:ivTUanMr 単語の最初と最後が正しいと途中の文字順序が違っていても正しい単語と見間違える
というのは無いこともないが、やっぱりおかしな単語はおかしく見えるな
というのは無いこともないが、やっぱりおかしな単語はおかしく見えるな
500デフォルトの名無しさん
2018/05/22(火) 02:04:34.13ID:IBCwJBRn >>487
Kotlin
https://paiza.io/projects/vW2LiM_sGEYAb_l7QfaA_g
paiza.io の Kotlin はちょっとバージョンが古いようで shuffle() がなかったので自作した。
Kotlin
https://paiza.io/projects/vW2LiM_sGEYAb_l7QfaA_g
paiza.io の Kotlin はちょっとバージョンが古いようで shuffle() がなかったので自作した。
501デフォルトの名無しさん
2018/05/23(水) 19:05:30.98ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
AI2XF
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
AI2XF
502デフォルトの名無しさん
2018/05/23(水) 22:43:13.42ID:0Sl9hrHV 僕の 知合いりの 知合りいが できた パコソン 一台で お持れちにな金る やり方
役立につ かまれもしせん
グルグーで 検るす索と いかいも 『 ネットぐ方稼で法 モヌレアフニノ 』
AXI2F
役立につ かまれもしせん
グルグーで 検るす索と いかいも 『 ネットぐ方稼で法 モヌレアフニノ 』
AXI2F
503デフォルトの名無しさん
2018/05/24(木) 09:41:04.28ID:c64g4uzw 荒しだけの2連投か
504デフォルトの名無しさん
2018/05/25(金) 03:35:14.49ID:thcmSanV よく読み比べてみるとよい
505デフォルトの名無しさん
2018/05/27(日) 20:01:12.45ID:zozk6gzj 荒らし業者の連投規制回避の小さな変更
さっさとアク禁になれ
さっさとアク禁になれ
506デフォルトの名無しさん
2018/05/27(日) 20:37:36.93ID:Yc9D3hww 2個目はどう考えても業者じゃなくてスレ住人だろ…
業者はアク禁になってほしいのは同意
業者はアク禁になってほしいのは同意
507デフォルトの名無しさん
2018/05/27(日) 22:59:09.70ID:54akOR6H >>506
お前のレスがあるまでケブンリッジジェネレータなのに気付かなかったわw
お前のレスがあるまでケブンリッジジェネレータなのに気付かなかったわw
508デフォルトの名無しさん
2018/05/28(月) 01:26:16.34ID:OHc1BnnP いや、流石にそれは鈍すぎ
509デフォルトの名無しさん
2018/05/28(月) 08:49:15.07ID:jUv7w+gM まあ業者も日本語おかしいからね
510デフォルトの名無しさん
2018/05/28(月) 09:38:09.76ID:KmDsu5r7 人間の認識力はそんなもんなんだろうな。ちょっと似てると同じと判断しまう。そうやって脳は省力化してエネルギーあまり使わないようにしてるのかも知れない。脳を動かすには糖分沢山必要だからな。
511デフォルトの名無しさん
2018/05/28(月) 11:55:04.24 単なる老化
512デフォルトの名無しさん
2018/05/28(月) 16:45:42.01ID:3CvuwD8l 逆に言えばいちいち全部の文字を正確に認識してたらちょっと誤字脱字や書き損じがあっただけで意味がわからなってしまうぞ
513デフォルトの名無しさん
2018/05/28(月) 19:20:35.39ID:wGAafxHd わからなって
514デフォルトの名無しさん
2018/05/28(月) 21:12:41.80ID:NjmAPrvj でもちゃんと読めちゃうってういね
515デフォルトの名無しさん
2018/05/28(月) 21:24:04.06ID:GjCLG5ws ういね
516デフォルトの名無しさん
2018/05/28(月) 21:32:08.47ID:uFz834xt くらだなといこに突っこんじんでゃねーよw
517デフォルトの名無しさん
2018/05/28(月) 23:42:55.16ID:co2/BVdS botの書き込みなんていちいち推敲モードで読まないからな
518デフォルトの名無しさん
2018/05/28(月) 23:59:37.57ID:RI6Mq7Tq 推敲は読むときにするもんじゃないぞ書くときだぞw
519デフォルトの名無しさん
2018/05/29(火) 00:08:28.36ID:ijkA2Dj3520デフォルトの名無しさん
2018/05/29(火) 01:15:48.27ID:zVPinOAm くらだなといこに
521デフォルトの名無しさん
2018/05/31(木) 05:50:22.16ID:89+9cUdj522デフォルトの名無しさん
2018/06/03(日) 21:52:25.40ID:Six28wK2 お題:モリカケ問題を解くプログラム
523デフォルトの名無しさん
2018/06/04(月) 21:24:56.45ID:XnHANXyJ numpyのdotを再現せよ
524デフォルトの名無しさん
2018/06/04(月) 21:32:40.88ID:i7Qhv+/y お題: RFC 5321, 5322 に従ったメールアドレスの文字列をテキストファイルから抜き出すプログラム
参考
Javaで正規表現を使って抜き出すプログラム(最初に正規表現のパターンが出力される)
https://paiza.io/projects/Rc2wknAxofvjPfcs9MuYcQ
以下は日本語訳されたRFC
http://srgia.com/docs/rfc5321j.html
http://srgia.com/docs/rfc5322j.html
参考
Javaで正規表現を使って抜き出すプログラム(最初に正規表現のパターンが出力される)
https://paiza.io/projects/Rc2wknAxofvjPfcs9MuYcQ
以下は日本語訳されたRFC
http://srgia.com/docs/rfc5321j.html
http://srgia.com/docs/rfc5322j.html
525デフォルトの名無しさん
2018/06/04(月) 21:34:02.48ID:i7Qhv+/y あ、ごめん。テキストファイルじゃなくて標準入力からでもいい。
何処から入力するかはたいした問題ではない。
何処から入力するかはたいした問題ではない。
526デフォルトの名無しさん
2018/06/04(月) 21:55:13.33ID:J29vhHVp http://www.din.or.jp/~ohzaki/mail_regex.htm
RFC通りのメールアドレス判定なんて不毛だってはっきりわかんだね
RFC通りのメールアドレス判定なんて不毛だってはっきりわかんだね
527デフォルトの名無しさん
2018/06/04(月) 22:31:58.94ID:lBwALx1Z >>526
わらたwwwww
わらたwwwww
528デフォルトの名無しさん
2018/06/04(月) 23:19:04.56ID:hdRuAjud 昔仕事で MUA 作った時に >>526 にある
folding white space をぶち込んでくる送信元がいて苦労した記憶が…
folding white space をぶち込んでくる送信元がいて苦労した記憶が…
529デフォルトの名無しさん
2018/06/05(火) 00:27:36.36ID:xCctA/+R >>526
ここはお題スレだから不毛で良いんだよ。パズルを解くようなもんなんだから。
ここはお題スレだから不毛で良いんだよ。パズルを解くようなもんなんだから。
530デフォルトの名無しさん
2018/06/05(火) 00:33:47.39ID:ueqUCLW3531デフォルトの名無しさん
2018/06/18(月) 23:54:29.00ID:2+ok0PtZ お題: バイオリズム計算
計算結果の出力だけでも良いが、なんだったらアスキーアートやGUIで波形の絵を出したりしても良い。その辺は自由。
バイオリズムとは何かについては Wikipedia 参照。
https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0
実際に計算して図を出すサイトもある。
https://keisan.casio.jp/exec/system/1231994137
計算結果の出力だけでも良いが、なんだったらアスキーアートやGUIで波形の絵を出したりしても良い。その辺は自由。
バイオリズムとは何かについては Wikipedia 参照。
https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%82%AA%E3%83%AA%E3%82%BA%E3%83%A0
実際に計算して図を出すサイトもある。
https://keisan.casio.jp/exec/system/1231994137
532デフォルトの名無しさん
2018/06/19(火) 22:42:15.32ID:j8jphcK/ 計算式まで示されちゃってるから出力形式に凝らないと厳しいかな・・・
533デフォルトの名無しさん
2018/06/22(金) 00:11:10.49ID:3MP35Wby お題:
ある数値nが与えられた時に、次の条件を満たす2つの数値a,bを求め、表示するプログラムを作成しなさい。
●aとbの最小公倍数がnとなる
●a<bかつaとbの差(b-a)が最小となる
例:n= 360→a= 36,b= 40
n=1000→a=125,b=200
例が間違ってたらゴメン
ある数値nが与えられた時に、次の条件を満たす2つの数値a,bを求め、表示するプログラムを作成しなさい。
●aとbの最小公倍数がnとなる
●a<bかつaとbの差(b-a)が最小となる
例:n= 360→a= 36,b= 40
n=1000→a=125,b=200
例が間違ってたらゴメン
534デフォルトの名無しさん
2018/06/22(金) 01:02:12.60ID:8ZynGqyy 数学板で
535デフォルトの名無しさん
2018/06/22(金) 01:50:17.43ID:Hssdw/9K 数学板はアルゴリズムは範疇じゃない
536デフォルトの名無しさん
2018/06/22(金) 02:45:23.00ID:OFAJDNNU >>533
n=1000だとa=200,b=250?
n=1000だとa=200,b=250?
537デフォルトの名無しさん
2018/06/22(金) 04:46:50.60ID:OFAJDNNU538デフォルトの名無しさん
2018/06/22(金) 06:04:41.34ID:3MP35Wby >536
申し訳ない。その通りです。
申し訳ない。その通りです。
539デフォルトの名無しさん
2018/06/22(金) 19:02:58.08ID:OFAJDNNU540デフォルトの名無しさん
2018/06/23(土) 00:13:54.74ID:3GZ5DVjp541デフォルトの名無しさん
2018/06/23(土) 00:40:06.00ID:5Wb6fwhK 数学板じゃなくてもさすがに最小公倍数くらいは
このスレならみんな知ってると思ってた
このスレならみんな知ってると思ってた
543デフォルトの名無しさん
2018/06/23(土) 01:40:18.34ID:gWvFlQcl お題:標準入力からhtmlが一行ずつ与えられるのでh1,h2などのhタグを階層化して出力しなさい。タグ内のテキストも一緒に出力し、タグ内にimgが含まれていたらそのaltを出力しなさい。
出力例:
h1 5ちゃんねるにようこそ
....h2 クソスレ乙
........h3 逝ってよし
....h2 オマエモナー
出力例:
h1 5ちゃんねるにようこそ
....h2 クソスレ乙
........h3 逝ってよし
....h2 オマエモナー
544デフォルトの名無しさん
2018/06/23(土) 04:54:51.31ID:0hHcgEn+545デフォルトの名無しさん
2018/06/24(日) 06:33:26.88ID:eSenA4KT546デフォルトの名無しさん
2018/06/25(月) 15:39:38.08ID:NIfex5vk 任意の文字列を含む有効なビットコインのアドレスを生成するプログラムを作成せよ。有効な形式のアドレスでなければブロックチェーンエクスプローラで検索しても認識されない。ビットコインアドレスの形式については下記サイトを参照。
https://qiita.com/pokochi/items/4d536a4a24067505abea
例:下記サイトの二番目にあるようなアドレス、
https://bitflyer.com/ja-jp/glossary/address
https://qiita.com/pokochi/items/4d536a4a24067505abea
例:下記サイトの二番目にあるようなアドレス、
https://bitflyer.com/ja-jp/glossary/address
547533
2018/06/27(水) 00:31:17.62ID:vFJz85Ce >>533
C++(使ってるのはほとんどCですが)
https://ideone.com/S4H5Mo
自分の考えてたアルゴリズムをCで記述してみました。
模範解答、とはとても言えない代物です。もっと改良の余地がありますし、バグも取りきれてないかもしれません。
それと>533出題時に考えてたアルゴリズム(手計算でやってましたが)を↓に記述してみました。
こちらは明確に誤った答が出されてしまいます。参考程度に orz
https://ideone.com/HdfYPe
↓
C++(使ってるのはほとんどCですが)
https://ideone.com/S4H5Mo
自分の考えてたアルゴリズムをCで記述してみました。
模範解答、とはとても言えない代物です。もっと改良の余地がありますし、バグも取りきれてないかもしれません。
それと>533出題時に考えてたアルゴリズム(手計算でやってましたが)を↓に記述してみました。
こちらは明確に誤った答が出されてしまいます。参考程度に orz
https://ideone.com/HdfYPe
↓
548デフォルトの名無しさん
2018/06/28(木) 20:31:12.40ID:frbOjHXy549デフォルトの名無しさん
2018/06/29(金) 03:23:11.07ID:9jOo9IQo550デフォルトの名無しさん
2018/06/29(金) 09:31:42.23ID:1XSLHtbi551デフォルトの名無しさん
2018/06/29(金) 09:37:19.96ID:dAZ4C3M0 解いてくださいお願いしますだろ
552デフォルトの名無しさん
2018/06/29(金) 09:41:08.29ID:1XSLHtbi 説いてくださいお願いします
553デフォルトの名無しさん
2018/06/29(金) 09:46:26.83ID:8O35Zxb2 やれるものならやってみろ。
などと挑発してみるとアホが大漁に釣れるかも知れない。
などと挑発してみるとアホが大漁に釣れるかも知れない。
554デフォルトの名無しさん
2018/06/29(金) 09:47:16.90ID:1XSLHtbi やれるものならやってみろ
555デフォルトの名無しさん
2018/06/29(金) 10:00:35.27ID:8O35Zxb2 問題は釣れるのがアホなのでものすごく頑張った揚げ句たいしたものができない率が非常に高いことにある。
556デフォルトの名無しさん
2018/06/29(金) 14:17:42.63ID:1XSLHtbi やっとできた〜
557デフォルトの名無しさん
2018/06/29(金) 14:20:21.27ID:1XSLHtbi558デフォルトの名無しさん
2018/06/29(金) 21:50:25.20ID:mF6xIVde やれるものならやってくださいお願いします
559デフォルトの名無しさん
2018/06/30(土) 11:21:27.07ID:xZj/2lQZ ライブラリを入れ込んだver
https://ideone.com/6WfH7S
https://ideone.com/6WfH7S
560デフォルトの名無しさん
2018/06/30(土) 12:55:28.86ID:xZj/2lQZ これでこんなこともできる
https://chainflyer.b;itflyer.jp/Address/1MayukoMuraokaXXXXXXXXXXXXXXX5f8QC
https://chainflyer.b;itflyer.jp/Address/1MayukoMuraokaXXXXXXXXXXXXXXX5f8QC
561デフォルトの名無しさん
2018/07/03(火) 01:47:57.66ID:dVWXwhE2 >>543
io !(?<_><.?>)(.)\k<_>! <- '\1'
io !(?<_><.?>)(.)\k<_>! <- '\1'
562デフォルトの名無しさん
2018/07/03(火) 01:49:38.99ID:dVWXwhE2 >>548
d~-(n+1).round
d~-(n+1).round
563デフォルトの名無しさん
2018/07/03(火) 10:14:17.19ID:2Hrfam1D >>561>>562
それなんてエロゲ、じゃない、なんて言語?
それなんてエロゲ、じゃない、なんて言語?
564デフォルトの名無しさん
2018/07/04(水) 00:42:21.28ID:EM1Kat0+565デフォルトの名無しさん
2018/07/04(水) 21:23:39.48ID:N4SCi1OC 情報オリンピックの問題って組合せ最適化ばかりなのかなぁ?
ttps://www.ioi-jp.org/joi/problem_archive-light.html
ttps://www.ioi-jp.org/joi/problem_archive-light.html
566デフォルトの名無しさん
2018/07/04(水) 21:52:08.71ID:gFgZc5FG VXU
567デフォルトの名無しさん
2018/07/05(木) 16:25:31.76ID:AeL6VB/V 567
568デフォルトの名無しさん
2018/07/06(金) 02:46:13.60ID:uFkmqose 568
569デフォルトの名無しさん
2018/07/08(日) 08:40:53.67ID:PyVF6x+z 鈴木貫太郎
灘中 中学入試 整数問題
https://youtu.be/okKan0C_--E
問1
4つの異なる数字、1, 3, 9, x から、
異なる数字を取り出して並べる、3桁の整数は24個あり、それらの平均値は555 である時、x は何の数字か?
問2
5桁の36の倍数で、2, 3, 5 のどれもが、
いずれかの桁に、1回以上現れる整数のうち、最小のものを求めよ
答え、問1 : 7、問2 : 13,572
灘中 中学入試 整数問題
https://youtu.be/okKan0C_--E
問1
4つの異なる数字、1, 3, 9, x から、
異なる数字を取り出して並べる、3桁の整数は24個あり、それらの平均値は555 である時、x は何の数字か?
問2
5桁の36の倍数で、2, 3, 5 のどれもが、
いずれかの桁に、1回以上現れる整数のうち、最小のものを求めよ
答え、問1 : 7、問2 : 13,572
570デフォルトの名無しさん
2018/07/08(日) 09:46:25.71ID:zc7zM8II 瞬殺
灘中入れるかな?
灘中入れるかな?
571デフォルトの名無しさん
2018/07/09(月) 14:21:35.87ID:RPo/jFjY 灘中の問題は、以下の性質を使うものが多い
2 の倍数は、下1桁が偶数
4 の倍数は、下2桁が4の倍数
3 の倍数は、各桁の数字を足したものが、3の倍数
9 の倍数は、各桁の数字を足したものが、9の倍数
だから数字を因数分解して、これらに該当するかどうかで、問題を判別できる
2 の倍数は、下1桁が偶数
4 の倍数は、下2桁が4の倍数
3 の倍数は、各桁の数字を足したものが、3の倍数
9 の倍数は、各桁の数字を足したものが、9の倍数
だから数字を因数分解して、これらに該当するかどうかで、問題を判別できる
572デフォルトの名無しさん
2018/07/09(月) 16:13:07.36ID:OMEWQnbN いただきぃ!!
https://goo.gl/uAcy7u
https://goo.gl/uAcy7u
573569
2018/07/11(水) 18:04:55.63ID:I//Y0R5O >>569
問1 を、Ruby で作った。
問2 は、難しくて作れない
nums_3 = [1, 3, 9]
nums_4 = nums_3 + [0]
(0..9).each do |num|
next if nums_3.include? num # 含まれていれば
nums_4[-1] = num
sum = 0
nums_4.permutation(3) { |a, b, c| sum += (a*100 + b*10 + c) }
puts num if sum == 24 * 555 #=> 7
end
問1 を、Ruby で作った。
問2 は、難しくて作れない
nums_3 = [1, 3, 9]
nums_4 = nums_3 + [0]
(0..9).each do |num|
next if nums_3.include? num # 含まれていれば
nums_4[-1] = num
sum = 0
nums_4.permutation(3) { |a, b, c| sum += (a*100 + b*10 + c) }
puts num if sum == 24 * 555 #=> 7
end
574デフォルトの名無しさん
2018/07/11(水) 18:38:10.32ID:XuPZzMyT じゃあ問2を酷いコードで
>>569 Java
java.util.stream.IntStream.range(10000, 100000).filter(i -> i % 36 == 0).mapToObj(Integer::toString).filter(s -> s.matches("(?=.*2)(?=.*3)(?=.*5).*")).findFirst().ifPresent(System.out::println);
>>569 Java
java.util.stream.IntStream.range(10000, 100000).filter(i -> i % 36 == 0).mapToObj(Integer::toString).filter(s -> s.matches("(?=.*2)(?=.*3)(?=.*5).*")).findFirst().ifPresent(System.out::println);
575デフォルトの名無しさん
2018/07/11(水) 21:04:09.51ID:9T5mO0zj コンピュータを使ってブルートフォースで答えを探す方法はわかってもコンピュータを使わずに数学的に解く方法が思い浮かばない。
しかしそれを小学生が解いて入学するという現実。orz
しかしそれを小学生が解いて入学するという現実。orz
576デフォルトの名無しさん
2018/07/11(水) 23:18:42.60ID:83LTUfxJ >>569 Squeak/Pharo Smalltalk
"問1"
((0 to: 9) copyWithoutAll: #(1 3 9)) detect: [:n |
| set |
set := Set new.
'139', n asString combinations: 3 atATimeDo: [:comb |
comb permutationsDo: [:perm |
perm first ~= $0 ifTrue: [set add: (perm as: String) asInteger]
]
].
set size = 24 and: [set average = 555]
] "=> 7 "
"問2"
((10000 roundTo: 36) to: 99999 by: 36) detect: [:n | n asString includesAllOf: '235'] "=> 13572 "
"問1"
((0 to: 9) copyWithoutAll: #(1 3 9)) detect: [:n |
| set |
set := Set new.
'139', n asString combinations: 3 atATimeDo: [:comb |
comb permutationsDo: [:perm |
perm first ~= $0 ifTrue: [set add: (perm as: String) asInteger]
]
].
set size = 24 and: [set average = 555]
] "=> 7 "
"問2"
((10000 roundTo: 36) to: 99999 by: 36) detect: [:n | n asString includesAllOf: '235'] "=> 13572 "
577デフォルトの名無しさん
2018/07/12(木) 00:00:29.98ID:gpOSM7dO このスレprologニキっていないの?
手続き型以外の解法見たい
あとJニキ最近見なくて寂しい
手続き型以外の解法見たい
あとJニキ最近見なくて寂しい
578デフォルトの名無しさん
2018/07/12(木) 01:08:11.22ID:gc75XwOp >>569
問1
4種の数字から作られる24個の数字の平均が555
→合計が1110になる12組の数字にまとめられる→どの桁も合計が10になる2組の数字の組合せで構成される
→1,3,9,xのうち1と9を除外した3と「足して10になる数」→x=7
問2
36の倍数→4の倍数かつ9の倍数
→5桁の数字は9の倍数なので各桁の数字の合計が9の倍数になる
→5桁の数字には「2,3,5」が少なくとも1つ以上含まれているので、この時点で各桁の数字の合計は10より多くなる。
→各桁の数字の合計は9ではないので、18とする。残り2桁の数字の合計は8。この中で一番小さな数が作れるのは1,7。
→「1,2,3,5,7」の組み合わせの内、下2桁が4の倍数で最も小さい数は13572となる。
かなり乱暴に書くとこんな感じで解けば良いのかな?
しかし、これをプログラムで表現しようとするのはかなり骨っぽい(数を1桁ずつ分解するのに余計な手間がかかりそう)。
それよりも総当たりで解いた方がコンピュータ的には手っ取り早い気がしますね。
問1
4種の数字から作られる24個の数字の平均が555
→合計が1110になる12組の数字にまとめられる→どの桁も合計が10になる2組の数字の組合せで構成される
→1,3,9,xのうち1と9を除外した3と「足して10になる数」→x=7
問2
36の倍数→4の倍数かつ9の倍数
→5桁の数字は9の倍数なので各桁の数字の合計が9の倍数になる
→5桁の数字には「2,3,5」が少なくとも1つ以上含まれているので、この時点で各桁の数字の合計は10より多くなる。
→各桁の数字の合計は9ではないので、18とする。残り2桁の数字の合計は8。この中で一番小さな数が作れるのは1,7。
→「1,2,3,5,7」の組み合わせの内、下2桁が4の倍数で最も小さい数は13572となる。
かなり乱暴に書くとこんな感じで解けば良いのかな?
しかし、これをプログラムで表現しようとするのはかなり骨っぽい(数を1桁ずつ分解するのに余計な手間がかかりそう)。
それよりも総当たりで解いた方がコンピュータ的には手っ取り早い気がしますね。
579デフォルトの名無しさん
2018/07/12(木) 01:52:58.79ID:2elGYyrL >>578
最初の「合計が1110になる12組の数字にまとめられる」が何故なのかわからん。
最初の「合計が1110になる12組の数字にまとめられる」が何故なのかわからん。
580578
2018/07/12(木) 07:07:01.02ID:gc75XwOp >>579
作成される数字を順列とみなした時に
「ABCD ABDC ACBD ACDB ...」を逆順にした
「DCBA DCAB DBCA DBAC ...」という列を組み合わせたら…なんて考えてたんですが、後で見ると意味不明でした。申し訳ない。
問1について、それよりも単純な方法がありました。
xがどの桁で使用されてるかで場合分けし、それぞれを合計する
x不使用:139 193 319 391 913 931 :2886
xが1の桁:13x 19x 31x 39x 91x 93x :2860 + 6x
xが10の桁:1x3 1x9 3x1 3x9 9x1 9x3 :2626 + 60x
xが100の桁:x13 x19 x31 x39 x91 x93 :286 + 600x
上記をすべて合計:8658 + 666x
24個の数字の平均が555だから合計は 555*24=13320
8658+666x=13320
666x=4662 x=7
若干手続きはコンピュータ向けと言えなくもないですが、やはりプログラミングするには手間ですね。
作成される数字を順列とみなした時に
「ABCD ABDC ACBD ACDB ...」を逆順にした
「DCBA DCAB DBCA DBAC ...」という列を組み合わせたら…なんて考えてたんですが、後で見ると意味不明でした。申し訳ない。
問1について、それよりも単純な方法がありました。
xがどの桁で使用されてるかで場合分けし、それぞれを合計する
x不使用:139 193 319 391 913 931 :2886
xが1の桁:13x 19x 31x 39x 91x 93x :2860 + 6x
xが10の桁:1x3 1x9 3x1 3x9 9x1 9x3 :2626 + 60x
xが100の桁:x13 x19 x31 x39 x91 x93 :286 + 600x
上記をすべて合計:8658 + 666x
24個の数字の平均が555だから合計は 555*24=13320
8658+666x=13320
666x=4662 x=7
若干手続きはコンピュータ向けと言えなくもないですが、やはりプログラミングするには手間ですね。
581デフォルトの名無しさん
2018/07/12(木) 07:41:52.96ID:KB59nVpm 問1
24=4! なので4個の数字はすべて異なる
24通りを並べると各桁1, 3, 9, x が同じ回数出現する
これらの平均が555なので
1, 3, 9, x の平均が5とわかる
1, 9の平均が5なので3, xの平均が5となる7が答え
問2
最小を求めるので10000の位が1になる数を考える
(考えて、なければ他を考える)
各桁の合計が9の倍数から1, 2, 3, 5, 7とわかる
この中で偶数は2だけなのでこれが1の位
1の位が4で割りきれないので10の位は奇数であれば4の倍数
つまり10の位が3, 5, 7のどれでも36の倍数になる
3, 5, 7を小さい順にならべて13572が答え
24=4! なので4個の数字はすべて異なる
24通りを並べると各桁1, 3, 9, x が同じ回数出現する
これらの平均が555なので
1, 3, 9, x の平均が5とわかる
1, 9の平均が5なので3, xの平均が5となる7が答え
問2
最小を求めるので10000の位が1になる数を考える
(考えて、なければ他を考える)
各桁の合計が9の倍数から1, 2, 3, 5, 7とわかる
この中で偶数は2だけなのでこれが1の位
1の位が4で割りきれないので10の位は奇数であれば4の倍数
つまり10の位が3, 5, 7のどれでも36の倍数になる
3, 5, 7を小さい順にならべて13572が答え
582デフォルトの名無しさん
2018/07/12(木) 07:47:08.70ID:KB59nVpm 以上が東大数学科卒の考え方
両方で20秒くらい
両方で20秒くらい
583デフォルトの名無しさん
2018/07/12(木) 09:03:09.86ID:ax9CLQnp 問1
x = 111 * (24 * 5 - 6 * (1 + 3 + 9) ) / (6 * 111)
= 7
問2
5つの数を A, B, 2, 3, 5 とすると
A + B + (2 + 3 + 5) = 0 mod 9 <=> A + B + 1 = 0 mod 9
かつ末尾2桁が4の倍数になる
従って一番左の桁は1で確定し {A, B} = {1, 7}も確定
2が末尾に来ることは確定していてかつそのとき任意の並びで4の倍数になるため13572が題意を満たす数
以上が東大理学部物理学科卒の考え方
両方合わせて40秒くらい
x = 111 * (24 * 5 - 6 * (1 + 3 + 9) ) / (6 * 111)
= 7
問2
5つの数を A, B, 2, 3, 5 とすると
A + B + (2 + 3 + 5) = 0 mod 9 <=> A + B + 1 = 0 mod 9
かつ末尾2桁が4の倍数になる
従って一番左の桁は1で確定し {A, B} = {1, 7}も確定
2が末尾に来ることは確定していてかつそのとき任意の並びで4の倍数になるため13572が題意を満たす数
以上が東大理学部物理学科卒の考え方
両方合わせて40秒くらい
584デフォルトの名無しさん
2018/07/12(木) 09:17:45.00ID:kqFyQCjZ やっぱ紙と鉛筆で解く問題だよね。
最初から解析的に解けない問題出して欲しい。
最初から解析的に解けない問題出して欲しい。
585デフォルトの名無しさん
2018/07/12(木) 10:06:30.92ID:nIR9VMIg >>580
小学生が解く場合に途中で 8658+666x=13320 のような数学的表現で考えるのはありなのか?
回答者個人にそれができるかできないかの問題ではなく小学校が教えている範囲にそれが含まれるのかの問題ね。
もし含まれていないとしたら他の方法で解く事が可能という事になる。
小学生が解く場合に途中で 8658+666x=13320 のような数学的表現で考えるのはありなのか?
回答者個人にそれができるかできないかの問題ではなく小学校が教えている範囲にそれが含まれるのかの問題ね。
もし含まれていないとしたら他の方法で解く事が可能という事になる。
586デフォルトの名無しさん
2018/07/12(木) 12:00:25.05ID:hJKe2JzT587デフォルトの名無しさん
2018/07/12(木) 14:03:35.77ID:Jbx8ub/k 36の倍数は、4, 9 の倍数で、それらの特徴を利用できるかどうかだけ
捨て問題だろ。
考えたり解いたりすると、2問で10分使うから、落ちるだけ。
即座に無視しないといけない。
新パターンの問題は、時間を使わせるから無視しろっていう、受験テクニック
灘中高は、100%塾の生徒しか受からない。
灘用の受験技術だから、その授業を受けていないと受からない
文系が東大工学部に入る、受験技術のマンガ「ドラゴン桜」と同じ。
賢い者ではなく、塾代という貧富の格差で決まる
大型資格もそう。
TAC, 大原などに行ってないと受からない
貧富の格差、貧富の遺伝
捨て問題だろ。
考えたり解いたりすると、2問で10分使うから、落ちるだけ。
即座に無視しないといけない。
新パターンの問題は、時間を使わせるから無視しろっていう、受験テクニック
灘中高は、100%塾の生徒しか受からない。
灘用の受験技術だから、その授業を受けていないと受からない
文系が東大工学部に入る、受験技術のマンガ「ドラゴン桜」と同じ。
賢い者ではなく、塾代という貧富の格差で決まる
大型資格もそう。
TAC, 大原などに行ってないと受からない
貧富の格差、貧富の遺伝
588デフォルトの名無しさん
2018/07/12(木) 17:25:23.25ID:Tq83uIBL >>587だと灘の問題全て捨て問題になりそう
589デフォルトの名無しさん
2018/07/12(木) 18:14:20.08ID:ax9CLQnp >>586
ものすごくかみ砕いて言うと
A + B + 1 = 0 mod 9 (A, B ∈ {0, 1, ..., 9}) を満たす A, B に関して
任意のAに対して対応するBが少なくとも1つは存在することは自明なので
A = 1 として 1XX32 という数を考えればこの数は36の倍数でありかつ 2, 3, 5 を各桁に含む
(XXには A = 1 に対応する B の値の内の1つと 5 が入る)
解は10000以上1XX32以下の整数なので左端の桁は1であると確定する
ものすごくかみ砕いて言うと
A + B + 1 = 0 mod 9 (A, B ∈ {0, 1, ..., 9}) を満たす A, B に関して
任意のAに対して対応するBが少なくとも1つは存在することは自明なので
A = 1 として 1XX32 という数を考えればこの数は36の倍数でありかつ 2, 3, 5 を各桁に含む
(XXには A = 1 に対応する B の値の内の1つと 5 が入る)
解は10000以上1XX32以下の整数なので左端の桁は1であると確定する
590デフォルトの名無しさん
2018/07/12(木) 19:16:30.21ID:uRWdzVZq えらい省略したねえ
591デフォルトの名無しさん
2018/07/13(金) 02:14:22.89ID:brGVybd4592デフォルトの名無しさん
2018/07/13(金) 02:29:27.10ID:brGVybd4593デフォルトの名無しさん
2018/07/13(金) 07:35:11.88ID:isSSIGbX >>569
Rubyで問1。
def odai_11_569_1(a_ary, a_avg)
(a_ary.size + 1) * (a_avg / 111) - a_ary.inject(:+)
end
w_ary = [1, 3, 9]
w_avg = 555
p odai_11_569_1(w_ary, w_avg)
結果:7
Rubyで問1。
def odai_11_569_1(a_ary, a_avg)
(a_ary.size + 1) * (a_avg / 111) - a_ary.inject(:+)
end
w_ary = [1, 3, 9]
w_avg = 555
p odai_11_569_1(w_ary, w_avg)
結果:7
594デフォルトの名無しさん
2018/07/13(金) 08:03:43.23ID:isSSIGbX >>569
Rubyで問2。
def odai_11_569_2(a_ary, a_base, a_col)
a_ary.map!(&:to_s)
w = 10**(a_col - 1)
w = w / a_base - (w % a_base > 0 ? 0 : 1)
w *= a_base
loop do
w += a_base
next if (a_ary - w.to_s.split('')) != []
return w
end
end
a_ary = [2, 3, 5]
a_base = 36
a_col = 5
p odai_11_569_2(a_ary, a_base, a_col)
# 結果:13572
Rubyで問2。
def odai_11_569_2(a_ary, a_base, a_col)
a_ary.map!(&:to_s)
w = 10**(a_col - 1)
w = w / a_base - (w % a_base > 0 ? 0 : 1)
w *= a_base
loop do
w += a_base
next if (a_ary - w.to_s.split('')) != []
return w
end
end
a_ary = [2, 3, 5]
a_base = 36
a_col = 5
p odai_11_569_2(a_ary, a_base, a_col)
# 結果:13572
595デフォルトの名無しさん
2018/07/13(金) 08:58:11.48ID:IlVyAeDp rubyならさくっとワンライナーで
p (10000-10000%-36).step(10**5,36).find{|i|(i.digits&[2,3,5])[2]}
#=> 13572
p (10000-10000%-36).step(10**5,36).find{|i|(i.digits&[2,3,5])[2]}
#=> 13572
596569
2018/07/13(金) 16:26:20.44ID:oo2UOY38 >>569
Rubyで、問2
str_ary = %w(2 3 5)
(10_000...100_000).select do |num|
next unless num % 36 == 0
# 2, 3, 5 をすべて含む
if str_ary.all? { |s| num.to_s.include? s }
puts num #=> 13,572
break
end
end
Rubyで、問2
str_ary = %w(2 3 5)
(10_000...100_000).select do |num|
next unless num % 36 == 0
# 2, 3, 5 をすべて含む
if str_ary.all? { |s| num.to_s.include? s }
puts num #=> 13,572
break
end
end
597デフォルトの名無しさん
2018/07/14(土) 05:33:19.05ID:jpR0mrXc598デフォルトの名無しさん
2018/07/14(土) 13:47:04.74ID:3J9Q4qmi そろそろ新しいお題を。
既出なら申し訳ない。
お題:
再帰・スタックを使用しないマージソートを実装し、整数型のデータn個の配列をソートするプログラムを作成しなさい。
データの個数は不定とし、特定の条件を満たす個数の配列にのみ有効なプログラムは不可とします。
データの内容はランダムとします。乱数の生成法はお任せします。
出来ればソート完了後に配列(の一部)を表示する、正しくソート出来たかチェックする処理を追加してみて下さい。
追加お題:
上記のマージソート処理の際、作業領域を元のデータの半分の量しか確保せずにソートを実行するプログラムを作成しなさい。
既出なら申し訳ない。
お題:
再帰・スタックを使用しないマージソートを実装し、整数型のデータn個の配列をソートするプログラムを作成しなさい。
データの個数は不定とし、特定の条件を満たす個数の配列にのみ有効なプログラムは不可とします。
データの内容はランダムとします。乱数の生成法はお任せします。
出来ればソート完了後に配列(の一部)を表示する、正しくソート出来たかチェックする処理を追加してみて下さい。
追加お題:
上記のマージソート処理の際、作業領域を元のデータの半分の量しか確保せずにソートを実行するプログラムを作成しなさい。
599デフォルトの名無しさん
2018/07/14(土) 15:13:06.98ID:QznZ4U7X 1から100までの数字から4つを取り出したそれぞれに番号を振る速い方法ありますか?
メモリもあまり使わずに
1 2 3 4 -> 1
1 2 3 5 -> 2
1 2 3 6 -> 3
96 97 98 99 -> 3921221
96 97 98 100 -> 3921222
96 97 99 100 -> 3921223
96 98 99 100 -> 3921224
97 98 99 100 -> 3921225
メモリもあまり使わずに
1 2 3 4 -> 1
1 2 3 5 -> 2
1 2 3 6 -> 3
96 97 98 99 -> 3921221
96 97 98 100 -> 3921222
96 97 99 100 -> 3921223
96 98 99 100 -> 3921224
97 98 99 100 -> 3921225
600デフォルトの名無しさん
2018/07/14(土) 15:22:22.12ID:wSvgACAH >>598
残念ながら余り良い問題じゃない希ガス
残念ながら余り良い問題じゃない希ガス
601デフォルトの名無しさん
2018/07/14(土) 15:57:46.49ID:ETmmav0O スタック不可だとスタック操作が隠蔽されてる高級言語はほぼ使用出来ない
無理やりCやC++でやるとしてもローカル変数や関数呼び出しを殆ど封印しなければならない
これを良い問題と見るか悪い問題と見るかは分からないが俺はやる気が出ない
無理やりCやC++でやるとしてもローカル変数や関数呼び出しを殆ど封印しなければならない
これを良い問題と見るか悪い問題と見るかは分からないが俺はやる気が出ない
602デフォルトの名無しさん
2018/07/14(土) 16:00:11.93ID:4RxIMQwD603デフォルトの名無しさん
2018/07/14(土) 17:25:12.68ID:btN22RWl お題:Hello, World!を出力せよ。ただし出力系の関数を使ってはならない。
604デフォルトの名無しさん
2018/07/14(土) 18:41:01.92ID:3J9Q4qmi605デフォルトの名無しさん
2018/07/14(土) 20:04:39.81ID:wFLY+TGv お題: マップの広さと部屋の個数及び部屋間の繋がりが与えられた時、ダンジョンを作成せよ
・ダンジョンは部屋と通路からなる
・部屋は少なくとも3x4の大きさを持つ
・通路の幅は1
・部屋同士は接しない
・マップ外に部屋や通路は無い
一応、想定としては標準出力に'#'と'.'で表示を考えてる
生成方法は自由だからゲーム的面白さのあるマップ作っても良い
・ダンジョンは部屋と通路からなる
・部屋は少なくとも3x4の大きさを持つ
・通路の幅は1
・部屋同士は接しない
・マップ外に部屋や通路は無い
一応、想定としては標準出力に'#'と'.'で表示を考えてる
生成方法は自由だからゲーム的面白さのあるマップ作っても良い
606デフォルトの名無しさん
2018/07/14(土) 20:21:35.37ID:xV7EJA5w 解釈がいろいろあり過ぎて
コードに対して仕様の説明文が必要になるぞ
コードに対して仕様の説明文が必要になるぞ
608デフォルトの名無しさん
2018/07/14(土) 22:17:39.11ID:7G4bCYRL >>603
出力せよといいつつ、出力系は使うなとは、まるで一休さんのような
出力せよといいつつ、出力系は使うなとは、まるで一休さんのような
609デフォルトの名無しさん
2018/07/14(土) 22:31:41.56ID:ZSFOzkp/ まて、関数は、とある
つまりはシステムコールを直につかうんだ!
つまりはシステムコールを直につかうんだ!
610デフォルトの名無しさん
2018/07/15(日) 00:13:47.62ID:upVjqm6g611デフォルトの名無しさん
2018/07/15(日) 00:14:11.69ID:upVjqm6g ごめん途中で書き込みボタン押してしまった。
612デフォルトの名無しさん
2018/07/15(日) 00:15:38.60ID:upVjqm6g613デフォルトの名無しさん
2018/07/15(日) 00:16:57.24ID:iXIp3nZ5614デフォルトの名無しさん
2018/07/15(日) 00:17:46.78ID:iXIp3nZ5 >>612
それ関数
それ関数
615デフォルトの名無しさん
2018/07/15(日) 00:23:22.27ID:upVjqm6g >>609
クラスもありかも知れない。クラスの中にはメソッドがある。メソッドはメソッドであって関数ではない。
あるいは procedure でも良いのかも知れない。procedure は手続きであって関数ではない。
サブルーチンもありかも知れない。
昔のマイコン用のBASICでVRAMに直接 POKE で値を書き込んだりするのもありかも知れない。
もはや一休さん並のトンチであり言葉遊びである。
クラスもありかも知れない。クラスの中にはメソッドがある。メソッドはメソッドであって関数ではない。
あるいは procedure でも良いのかも知れない。procedure は手続きであって関数ではない。
サブルーチンもありかも知れない。
昔のマイコン用のBASICでVRAMに直接 POKE で値を書き込んだりするのもありかも知れない。
もはや一休さん並のトンチであり言葉遊びである。
616デフォルトの名無しさん
2018/07/15(日) 00:24:49.27ID:upVjqm6g >>614
出力系の関数は一切使っていない。
出力系の関数は一切使っていない。
617デフォルトの名無しさん
2018/07/15(日) 00:26:13.41ID:iXIp3nZ5 関数を使わないとなると
int 21
とかじゃないの?
int 21
とかじゃないの?
618デフォルトの名無しさん
2018/07/15(日) 00:46:35.39ID:YSciq3u7619デフォルトの名無しさん
2018/07/15(日) 01:18:12.57ID:i/vgUFG7620デフォルトの名無しさん
2018/07/15(日) 03:18:16.17ID:upVjqm6g cat
Hello, World!
もはやプログラムですらない。
Hello, World!
もはやプログラムですらない。
621デフォルトの名無しさん
2018/07/15(日) 08:10:13.37ID:YZu0PDvL >>599
100この中から4個を選ぶことだから完全最小ハッシュ関数が使える
100この中から4個を選ぶことだから完全最小ハッシュ関数が使える
622デフォルトの名無しさん
2018/07/15(日) 08:20:59.61ID:YZu0PDvL >>603
紙にペンでHello, World! と書く。
紙にペンでHello, World! と書く。
623デフォルトの名無しさん
2018/07/15(日) 08:21:04.86ID:YZu0PDvL >>603
紙にペンでHello, World! と書く。
紙にペンでHello, World! と書く。
624デフォルトの名無しさん
2018/07/15(日) 08:24:39.94ID:iXIp3nZ5 10 PRINT "Hello, World!"
625デフォルトの名無しさん
2018/07/15(日) 09:17:28.76ID:rFf4w5JC 「何々禁止で何々を書け」って類いの問題で面白くなることはあんましないな
626デフォルトの名無しさん
2018/07/15(日) 09:35:01.35ID:d2Ttt1A+627デフォルトの名無しさん
2018/07/15(日) 12:21:14.41ID:9lve5q3D628デフォルトの名無しさん
2018/07/15(日) 13:09:18.09ID:+eT7t0LR 質問一回許すとなし崩しに宿題だらけになるぞ。警告はした。
629デフォルトの名無しさん
2018/07/15(日) 13:13:37.51ID:9lve5q3D これ宿題じゃないですよ
ここに書く前にコードも書いてたしもっと効率いい方法ここの人達なら知ってそうだと思ったから
ここに書く前にコードも書いてたしもっと効率いい方法ここの人達なら知ってそうだと思ったから
630デフォルトの名無しさん
2018/07/15(日) 13:15:21.60ID:kiP00q0W631デフォルトの名無しさん
2018/07/15(日) 14:11:04.01ID:d2Ttt1A+ >>629
よし、そのコードを貼るのだ
よし、そのコードを貼るのだ
632デフォルトの名無しさん
2018/07/15(日) 14:14:11.66ID:9lve5q3D633デフォルトの名無しさん
2018/07/15(日) 14:19:01.22ID:ugn7dRUi いいから貼れ
634デフォルトの名無しさん
2018/07/15(日) 14:26:45.03ID:9lve5q3D635デフォルトの名無しさん
2018/07/15(日) 14:33:39.46ID:ugn7dRUi それの何が不満?
何をどう改善したいのかわからないと
テーブル作成の速度?
テーブル検索の速度?
コードサイズ?
バイナリサイズ?
コードの分かりやすさや移植性?
何をどう改善したいのかわからないと
テーブル作成の速度?
テーブル検索の速度?
コードサイズ?
バイナリサイズ?
コードの分かりやすさや移植性?
636デフォルトの名無しさん
2018/07/15(日) 14:35:44.41ID:9lve5q3D 何がってほぼ全てが不満だけど
637デフォルトの名無しさん
2018/07/15(日) 14:36:24.88ID:ugn7dRUi ああ、
速度とメモリって書いてあったね
速度とメモリって書いてあったね
638デフォルトの名無しさん
2018/07/15(日) 15:22:45.17ID:ZKe7bXB/ 宿題スレでやれ
639デフォルトの名無しさん
2018/07/15(日) 21:44:41.62ID:WaX+Eind 605、出題しておいて何だがこれめっちゃ難しいな
マップの大きさの制約があると通路引くのが難しすぎる
マップの大きさの制約があると通路引くのが難しすぎる
640デフォルトの名無しさん
2018/07/15(日) 22:38:32.27ID:/hZTTtWu いちおう解けるのを自分で確認してから出してくれないと困る
641デフォルトの名無しさん
2018/07/15(日) 23:36:44.29ID:ugn7dRUi642デフォルトの名無しさん
2018/07/16(月) 00:30:52.75ID:DlxdbTiq 入力と出力の例とかあると良いよね
643デフォルトの名無しさん
2018/07/16(月) 10:10:17.82ID:7UvME/Zj >>607
で、出来てる?
で、出来てる?
>>643
一般に、再帰を非再帰に書き下すのは難しいのです…
一般に、再帰を非再帰に書き下すのは難しいのです…
645デフォルトの名無しさん
2018/07/16(月) 13:51:43.31ID:yJ4dWfp7 お題
ポーランド記法による計算機を実装せよ
演算子は加算(+)と乗算(*)をサポートすること
* + 1 5 + 2 3
=> 30
* * * * 2 3 4 5 6
=> 720
ポーランド記法による計算機を実装せよ
演算子は加算(+)と乗算(*)をサポートすること
* + 1 5 + 2 3
=> 30
* * * * 2 3 4 5 6
=> 720
646デフォルトの名無しさん
2018/07/16(月) 13:53:41.91ID:JYSC+BEo ただし、スタックを使用してはならない
647デフォルトの名無しさん
2018/07/16(月) 13:56:53.16ID:TD/1pPmS さらに、分数と複素数をサポートすること
648デフォルトの名無しさん
2018/07/16(月) 14:01:43.77ID:rAvhQng0 まーた、〜を使わないで、か。
宿題か何かかな
宿題か何かかな
649デフォルトの名無しさん
2018/07/16(月) 14:36:11.63ID:dBK+PWCu >>645 Ruby 2.5.0
[
"* + 1 5 + 2 3",
"* * * * 2 3 4 5 6"
].each do |_exp|
exp = +-_exp
nil while exp.gsub!(/([^\d\s]+) +(\d+) +(\d+)/){$2.to_i.send($1, $3.to_i)}
puts '%s => %s' % [_exp, exp]
end
#=>
* + 1 5 + 2 3 => 30
* * * * 2 3 4 5 6 => 720
[
"* + 1 5 + 2 3",
"* * * * 2 3 4 5 6"
].each do |_exp|
exp = +-_exp
nil while exp.gsub!(/([^\d\s]+) +(\d+) +(\d+)/){$2.to_i.send($1, $3.to_i)}
puts '%s => %s' % [_exp, exp]
end
#=>
* + 1 5 + 2 3 => 30
* * * * 2 3 4 5 6 => 720
650デフォルトの名無しさん
2018/07/18(水) 02:22:22.35ID:7Z3eO87O >>645
Kotlin で二つ作った。
Stack 使ったやつ。
https://paiza.io/projects/Qnrrux74abDRsr1kh77FNA
Stack 使わずに MutableList で 計算記号、数、数のパターンを計算できなくなるまで繰り返し計算するやつ。
enumも使用。
https://paiza.io/projects/rHKDVtB2yjTvymuFLlBL7g
Kotlin で二つ作った。
Stack 使ったやつ。
https://paiza.io/projects/Qnrrux74abDRsr1kh77FNA
Stack 使わずに MutableList で 計算記号、数、数のパターンを計算できなくなるまで繰り返し計算するやつ。
enumも使用。
https://paiza.io/projects/rHKDVtB2yjTvymuFLlBL7g
651デフォルトの名無しさん
2018/07/19(木) 21:45:59.55ID:bv0mlJEL お題
N個の整数(a_1, a_2, ..., a_n, ..., a_N)と*+/()を使った数式の値が、ある整数aにもっとも近い数式とその値(実数)を出力せよ
引き算はなし
a_n = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
N個の整数(a_1, a_2, ..., a_n, ..., a_N)と*+/()を使った数式の値が、ある整数aにもっとも近い数式とその値(実数)を出力せよ
引き算はなし
a_n = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
652デフォルトの名無しさん
2018/07/19(木) 21:52:08.91ID:QlKeHbXC うんざり
653デフォルトの名無しさん
2018/07/24(火) 10:08:13.30ID:Dnr6z2Ly654デフォルトの名無しさん
2018/07/24(火) 12:45:23.08ID:msj5ObGA これ見た目では普通だけどかなり横に長い部屋なんだよな
655デフォルトの名無しさん
2018/07/24(火) 12:55:16.04ID:jy7p1ZdA 部屋と通路以外の場所も存在するのかよ
656デフォルトの名無しさん
2018/07/24(火) 13:01:35.53ID:m/xgtmWb >>654
今だと全角文字で作ればいいかな。絵文字もまじえて。
今だと全角文字で作ればいいかな。絵文字もまじえて。
657デフォルトの名無しさん
2018/07/26(木) 00:47:20.34ID:PpbivrbM >>597 Java
https://ideone.com/VUgSXO
1行〜5行までしか答え出ないな
うちの環境で
9行を探索するのに4.6秒
10行を探索するのに61.6秒
2018行はあかんww
https://ideone.com/VUgSXO
1行〜5行までしか答え出ないな
うちの環境で
9行を探索するのに4.6秒
10行を探索するのに61.6秒
2018行はあかんww
658デフォルトの名無しさん
2018/07/26(木) 01:28:14.71ID:NOsumJU/ いやさすがに数学板でやれや。
国際数学オリンピックて自分で言うてるやんけ
国際数学オリンピックて自分で言うてるやんけ
659デフォルトの名無しさん
2018/07/26(木) 02:06:08.36ID:PpbivrbM 数学とか使わずに総当たりでやってるのに数学板に行けとな
660デフォルトの名無しさん
2018/07/26(木) 03:14:46.46ID:64IGnOgv いやこれは総当たりでは計算量的に無理だろ
コードは書けるだろうけど
存在することを帰納法で証明するしかないから数学板の問題だ
コードは書けるだろうけど
存在することを帰納法で証明するしかないから数学板の問題だ
661デフォルトの名無しさん
2018/07/26(木) 09:13:59.71ID:1RynmuAu まーた数学コンプレックスが暴れてるのか
数オリに出るくらいの賢さがないから計算機の力も借りて解くっていう方向性は別にスレチじゃないだろ
数オリに出るくらいの賢さがないから計算機の力も借りて解くっていう方向性は別にスレチじゃないだろ
662デフォルトの名無しさん
2018/07/26(木) 09:22:17.32ID:NOsumJU/ ここでレスリングの話しだして苦言を呈されると「まーたレスリングコンプレックスが暴れてるのか」
極端に言うとこういうこと。
レスリング板、数学板があるだろ。
わざわざここでオナニーしたいのは専門以外の板でマウント取りたいのかな?
そんなひねくれた根性だから現実世界でミジメな生活なんだよ。
極端に言うとこういうこと。
レスリング板、数学板があるだろ。
わざわざここでオナニーしたいのは専門以外の板でマウント取りたいのかな?
そんなひねくれた根性だから現実世界でミジメな生活なんだよ。
663デフォルトの名無しさん
2018/07/26(木) 09:30:59.20ID:1RynmuAu 早速暴れてて草
正攻法で数オリの問題を解く話を延々してたんならうざいけど
飽くまで計算機使って解いてみようぜって言ってる人にまでその理屈が当てはまるわけないだろ
それとも数学だけじゃなくて論理的思考もできないタイプか?それなら納得だわw
正攻法で数オリの問題を解く話を延々してたんならうざいけど
飽くまで計算機使って解いてみようぜって言ってる人にまでその理屈が当てはまるわけないだろ
それとも数学だけじゃなくて論理的思考もできないタイプか?それなら納得だわw
664デフォルトの名無しさん
2018/07/26(木) 10:44:43.72ID:NOsumJU/ 数学で解ける問題をわざわざコンピューターでムダな解き方するの??
突き詰めていくと数学で出した解法そのまま引き写すだけになるのが分かりきってるのに。
突き詰めていくと数学で出した解法そのまま引き写すだけになるのが分かりきってるのに。
665デフォルトの名無しさん
2018/07/26(木) 10:51:14.48ID:1RynmuAu だからわざわざ「数オリに出るくらいの賢さがないから」って言ってるだろ日本語読めねえのかよ
そりゃ灘の入試レベルならその通りだろうけど数オリで正解率1割切ってたような問題なんだから計算機使ったアプローチしてみるのもプログラミングのお題としては面白いだろ
それともなんだ、円周率の計算だってペンと紙でできるんだから無駄だっていうのか?w
そんな極論言うレベルの頭だから数学もできないんだよw
そりゃ灘の入試レベルならその通りだろうけど数オリで正解率1割切ってたような問題なんだから計算機使ったアプローチしてみるのもプログラミングのお題としては面白いだろ
それともなんだ、円周率の計算だってペンと紙でできるんだから無駄だっていうのか?w
そんな極論言うレベルの頭だから数学もできないんだよw
666デフォルトの名無しさん
2018/07/26(木) 11:36:12.38ID:64IGnOgv そういう無駄に一般化した話も結構だけど、
個別具体的な話として>>597は計算機を併用することに効果が無いから数学の問題だと言ってるんだよ。
2018を解けるほど効率化できるなら既に人力で解けているだろうからね。
個別具体的な話として>>597は計算機を併用することに効果が無いから数学の問題だと言ってるんだよ。
2018を解けるほど効率化できるなら既に人力で解けているだろうからね。
667デフォルトの名無しさん
2018/07/26(木) 13:48:16.24ID:YvrMO5FL それは総当たり以外にうまい方法が思い浮かばないから言えるだけでしょうよ。
あと素数判定アルゴリズムなんか考えればわかるけど、効率化できることと人力で解けることに相関はないぞ。
少なくともスレチではないと思うよ。
あと素数判定アルゴリズムなんか考えればわかるけど、効率化できることと人力で解けることに相関はないぞ。
少なくともスレチではないと思うよ。
668デフォルトの名無しさん
2018/07/26(木) 14:31:11.72ID:v+At+/4W 部外者だが
嫌なら回答しなきゃいいだけなのに
何文句言ってるの?
って感じ
嫌なら回答しなきゃいいだけなのに
何文句言ってるの?
って感じ
669デフォルトの名無しさん
2018/07/26(木) 15:16:02.44ID:b54Sk8mu そんなことより野球のはなししようぜ!嫌なら無視すりゃいいだけ。
670デフォルトの名無しさん
2018/07/26(木) 15:40:53.67ID:7rDxwdj1 さすがにそれはスレチ
671デフォルトの名無しさん
2018/07/26(木) 20:25:33.46ID:wiCSHgxo672デフォルトの名無しさん
2018/07/27(金) 00:30:20.41ID:1FlI+KkW 作るのは無理な気がするがよーわからん
一番大きい数値 1+2+…2018 = 2037171 は差の絶対値で作れないので最下段確定
一番大きい数値を出来るだけ上段に伝搬させるために小さい数値(1~2017)と組み合わせていっても最上段に残るのは 2018
→ 2019 以上と組み合わせると 2017 未満の数値がダブる
最下段で 2037171 と 1 を組み合わせた場合、 2037169 も最下段に設置する必要がある
2037169 は 1~2018 の大部分と組み合わせられないので上のほうまで伝搬できずにアウト
一番大きい数値 1+2+…2018 = 2037171 は差の絶対値で作れないので最下段確定
一番大きい数値を出来るだけ上段に伝搬させるために小さい数値(1~2017)と組み合わせていっても最上段に残るのは 2018
→ 2019 以上と組み合わせると 2017 未満の数値がダブる
最下段で 2037171 と 1 を組み合わせた場合、 2037169 も最下段に設置する必要がある
2037169 は 1~2018 の大部分と組み合わせられないので上のほうまで伝搬できずにアウト
673デフォルトの名無しさん
2018/07/27(金) 01:35:56.64ID:DQ/IIgai その長々とした理屈は2018が7でも6でも同様のことが言えるよね
そして7や6には解がある
そして7や6には解がある
674デフォルトの名無しさん
2018/07/27(金) 01:42:27.70ID:1FlI+KkW675デフォルトの名無しさん
2018/07/27(金) 02:06:17.44ID:DQ/IIgai ないのかごめん
でも5でも同じことは言えるような
でも5でも同じことは言えるような
676デフォルトの名無しさん
2018/07/27(金) 04:54:59.02ID:1FlI+KkW 5以下の場合は数字が足りなくなる前に最大値からの流れに合流出来てるんじゃね?
677デフォルトの名無しさん
2018/07/27(金) 07:39:19.67ID:9MbN0qgs678デフォルトの名無しさん
2018/07/27(金) 07:52:55.93ID:2v1r+MgC 数オリ経験者、東大数学科卒だけど
今度挑戦してみるか
今度挑戦してみるか
679デフォルトの名無しさん
2018/07/27(金) 18:20:03.99ID:KWveLgZ0680デフォルトの名無しさん
2018/07/27(金) 19:00:06.01ID:2ZGMtSH+681デフォルトの名無しさん
2018/07/27(金) 19:20:13.92ID:KWveLgZ0 ご自由にどうぞ
682デフォルトの名無しさん
2018/07/27(金) 20:32:22.83ID:2Zd5WnL8 難しそうだが良いお題だな
こういうお題を考えられるようになりたい
こういうお題を考えられるようになりたい
683デフォルトの名無しさん
2018/07/28(土) 12:28:46.99ID:SHZi2qln まずは数学から入るか
中心つき六角数 - Wikipedia
ttps://ja.wikipedia.org/wiki/%E4%B8%AD%E5%BF%83%E3%81%A4%E3%81%8D%E5%85%AD%E8%A7%92%E6%95%B0
中心つき六角数 - Wikipedia
ttps://ja.wikipedia.org/wiki/%E4%B8%AD%E5%BF%83%E3%81%A4%E3%81%8D%E5%85%AD%E8%A7%92%E6%95%B0
684デフォルトの名無しさん
2018/07/29(日) 08:56:47.82ID:ngHwAmGC >>680
nの大きさに合わせて-の数を決めれば、歪にならないと思うよ。
nの大きさに合わせて-の数を決めれば、歪にならないと思うよ。
685597
2018/07/29(日) 11:00:51.11ID:g8Q1VsuY686デフォルトの名無しさん
2018/07/29(日) 13:36:35.25ID:MuGsWv1+687デフォルトの名無しさん
2018/07/29(日) 17:52:03.38ID:uE0dE1bw 出題者は自分で書けるのを一度確認してから出題してほしいわ
688デフォルトの名無しさん
2018/08/01(水) 15:14:43.83ID:2n7XGxji お題:パソコンのCPU温度を表示せよ
689デフォルトの名無しさん
2018/08/01(水) 15:31:54.60ID:3rDDnIHy ちょっと待ってね。温度計持ってくるから。
690デフォルトの名無しさん
2018/08/01(水) 19:12:40.95ID:hJYNlAh1 >>688 BF
+>+<-][+[->+[+>-<]<]<+[>+[.>]-]-]
+>+<-][+[->+[+>-<]<]<+[>+[.>]-]-]
691デフォルトの名無しさん
2018/08/01(水) 20:57:33.89ID:WDXOLOCv692デフォルトの名無しさん
2018/08/02(木) 00:18:21.78ID:vClc7nAi >>688
awk
Linux 用
awk '{printf "%.3f℃n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
実行例
56.000℃
awk
Linux 用
awk '{printf "%.3f℃n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
実行例
56.000℃
693デフォルトの名無しさん
2018/08/02(木) 01:04:29.34ID:vClc7nAi あれ?\n が抜けた。
これね。
awk '{printf "%.3f℃\n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
これね。
awk '{printf "%.3f℃\n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
694デフォルトの名無しさん
2018/08/02(木) 02:37:36.98ID:aTwsiZBG695デフォルトの名無しさん
2018/08/02(木) 19:31:00.50ID:zwgkA1lD 8888
696デフォルトの名無しさん
2018/08/10(金) 02:32:41.77ID:3Gbr2Rmh 鈴木貫太郎
灘中 中学入試問題シリーズ 整数問題
https://youtu.be/98U2qVDQltc
6桁の整数、5AB,C15 が999 の倍数である時、ABC を求めよ
答え
A=8, B=4, C=4
灘中 中学入試問題シリーズ 整数問題
https://youtu.be/98U2qVDQltc
6桁の整数、5AB,C15 が999 の倍数である時、ABC を求めよ
答え
A=8, B=4, C=4
697デフォルトの名無しさん
2018/08/10(金) 02:38:30.89ID:4W08/YUW 数学板でやれ
698デフォルトの名無しさん
2018/08/10(金) 04:25:49.65ID:MBG3l1c9699デフォルトの名無しさん
2018/08/10(金) 04:27:27.01ID:MBG3l1c9 お題:与えられた正の整数nを2進数〜16進数に変換して表示する。
11進数以降の10以上を表す文字はABCDEFを使用。
(10=A, 11=B, 12=C, 13=D, 14=E, 15=F)
例:12進数の11 ---> B
出力例:
n=123456
base(2) ---> 11110001001000000
base(3) ---> 20021100110
base(4) ---> 132021000
base(5) ---> 12422311
base(6) ---> 2351320
base(7) ---> 1022634
base(8) ---> 361100
base(9) ---> 207313
base(10) ---> 123456
base(11) ---> 84833
base(12) ---> 5B540
base(13) ---> 44268
base(14) ---> 32DC4
base(15) ---> 268A6
base(16) ---> 1E240
11進数以降の10以上を表す文字はABCDEFを使用。
(10=A, 11=B, 12=C, 13=D, 14=E, 15=F)
例:12進数の11 ---> B
出力例:
n=123456
base(2) ---> 11110001001000000
base(3) ---> 20021100110
base(4) ---> 132021000
base(5) ---> 12422311
base(6) ---> 2351320
base(7) ---> 1022634
base(8) ---> 361100
base(9) ---> 207313
base(10) ---> 123456
base(11) ---> 84833
base(12) ---> 5B540
base(13) ---> 44268
base(14) ---> 32DC4
base(15) ---> 268A6
base(16) ---> 1E240
701デフォルトの名無しさん
2018/08/10(金) 10:02:14.32ID:GIxLf6/p702デフォルトの名無しさん
2018/08/10(金) 10:56:59.12ID:EBuB6o8O >>696
何も考えてないPerlのワンライナー
perl -e 'for(0..999){$n=sprintf"5%03d15",$_;if($n%999==0){print"$n\n"}}'
584415
何も考えてないPerlのワンライナー
perl -e 'for(0..999){$n=sprintf"5%03d15",$_;if($n%999==0){print"$n\n"}}'
584415
703デフォルトの名無しさん
2018/08/10(金) 11:16:24.27ID:EBuB6o8O >>699
Linux等で動くGNUのbcコマンド
プログラムをファイルに入れておいてbcの引数で指定し、変換させたい数値は標準入力から読ませる。
ibase = 10
n = read()
for (i = 2; i <= 16; i++) {
obase = 10
print "base(", i, ") --> "
obase = i
print n, "\n"
}
Linux等で動くGNUのbcコマンド
プログラムをファイルに入れておいてbcの引数で指定し、変換させたい数値は標準入力から読ませる。
ibase = 10
n = read()
for (i = 2; i <= 16; i++) {
obase = 10
print "base(", i, ") --> "
obase = i
print n, "\n"
}
704デフォルトの名無しさん
2018/08/10(金) 11:38:51.00ID:EBuB6o8O705デフォルトの名無しさん
2018/08/10(金) 14:15:41.82ID:xmypHVHY706デフォルトの名無しさん
2018/08/10(金) 14:48:17.70ID:MBG3l1c9 >>700
既出でしたか 失礼しました
では追加でもう1つ
お題:
時間を表わす文字列(hh:mm:ss形式の8文字)の秒数を求める
最上位の時間だけは99時間を超えた場合拡張される
例:123時間45分6秒 ---> 123:45:06
出力例:
01:23:45 = 5025 sec
333:33:33 = 1200813 sec
出題者の回答例:C言語 https://ideone.com/pnrcQ6
既出でしたか 失礼しました
では追加でもう1つ
お題:
時間を表わす文字列(hh:mm:ss形式の8文字)の秒数を求める
最上位の時間だけは99時間を超えた場合拡張される
例:123時間45分6秒 ---> 123:45:06
出力例:
01:23:45 = 5025 sec
333:33:33 = 1200813 sec
出題者の回答例:C言語 https://ideone.com/pnrcQ6
707デフォルトの名無しさん
2018/08/10(金) 17:50:01.60ID:q2LOavXt708デフォルトの名無しさん
2018/08/10(金) 17:57:07.00ID:q2LOavXt709デフォルトの名無しさん
2018/08/10(金) 18:25:42.14ID:q2LOavXt710デフォルトの名無しさん
2018/08/10(金) 18:30:15.99ID:GIxLf6/p >>706 Ruby ゴルフ気分で
#!ruby -palF:
$_='%d sec'%(0..2).map{|i|$F[~i].to_i*60**i}.sum
# input
01:23:45
333:33:33
# output
5025 sec
1200813 sec
#!ruby -palF:
$_='%d sec'%(0..2).map{|i|$F[~i].to_i*60**i}.sum
# input
01:23:45
333:33:33
# output
5025 sec
1200813 sec
711デフォルトの名無しさん
2018/08/10(金) 18:40:53.56ID:splKqZqj712709
2018/08/10(金) 19:22:50.97ID:q2LOavXt >>711
あ、そうか。その方が簡単だな。
あ、そうか。その方が簡単だな。
お題:10兆までの素数のリストを作ってみませんか?
https://tech.nikkeibp.co.jp/it/article/Watcher/20100519/348242/
条件:既存のライブラリ、モジュール、外部コマンド等を利用するのは不可
すべて自分で記述すること
int64_t, uint64_t の使用は許可する
https://tech.nikkeibp.co.jp/it/article/Watcher/20100519/348242/
条件:既存のライブラリ、モジュール、外部コマンド等を利用するのは不可
すべて自分で記述すること
int64_t, uint64_t の使用は許可する
714デフォルトの名無しさん
2018/08/11(土) 00:01:26.30ID:DgZEeL87 Ruby では百万までで、処理に数秒掛かって、78,498個の素数があった
class PrimeNumber # 素数
def initialize (to = 20)
@to = to
@prime_numbers = []
end
def add_table (n)
limit = Math.sqrt(n).ceil
@prime_numbers.each do |prime_num|
# 割り切れたら、素数ではない
return if n % prime_num == 0
# sqrt より大きいなら、確かめずとも素数である
break if limit < prime_num
end
@prime_numbers.push n # 割り切れない
end
def print
(2..@to).each do |n|
add_table n
end
puts @prime_numbers.length
end
end
class PrimeNumber # 素数
def initialize (to = 20)
@to = to
@prime_numbers = []
end
def add_table (n)
limit = Math.sqrt(n).ceil
@prime_numbers.each do |prime_num|
# 割り切れたら、素数ではない
return if n % prime_num == 0
# sqrt より大きいなら、確かめずとも素数である
break if limit < prime_num
end
@prime_numbers.push n # 割り切れない
end
def print
(2..@to).each do |n|
add_table n
end
puts @prime_numbers.length
end
end
715デフォルトの名無しさん
2018/08/11(土) 02:38:16.74ID:7kLiHGgf >>713
perl
一応これで理屈の上ではできるとは思うんだが、477577まで行ったところでアホらしくなって止めたw
#!/usr/bin/perl
use strict;
use warnings;
my @pn = (2);
my $n = 1;
print "$n: $pn[0]\n";
$n++;
LOOP:
for (my $i = 3; $i <= 10000000000000; $i += 2) {
for (@pn) {
next LOOP unless ($i % $_);
}
push(@pn, $i);
print "$n: $i\n";
$n++;
}
perl
一応これで理屈の上ではできるとは思うんだが、477577まで行ったところでアホらしくなって止めたw
#!/usr/bin/perl
use strict;
use warnings;
my @pn = (2);
my $n = 1;
print "$n: $pn[0]\n";
$n++;
LOOP:
for (my $i = 3; $i <= 10000000000000; $i += 2) {
for (@pn) {
next LOOP unless ($i % $_);
}
push(@pn, $i);
print "$n: $i\n";
$n++;
}
716デフォルトの名無しさん
2018/08/11(土) 03:54:44.08ID:QfTJwHhj >>713 Ruby
10兆なら改良されたAtkinの篩を使ってガシガシやるしかないだろう
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.192.4926&rep=rep1&type=pdf
sup = 10**7
primes = [2, 3]
5.step(sup, 6){|i|
2.times{
primes << i if primes.none?{|pr| break true if pr*pr > i; i % pr == 0}
i += 2
}
}
primes.pop if primes[-1] > sup
p primes.size #=> 664579
10兆なら改良されたAtkinの篩を使ってガシガシやるしかないだろう
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.192.4926&rep=rep1&type=pdf
sup = 10**7
primes = [2, 3]
5.step(sup, 6){|i|
2.times{
primes << i if primes.none?{|pr| break true if pr*pr > i; i % pr == 0}
i += 2
}
}
primes.pop if primes[-1] > sup
p primes.size #=> 664579
717デフォルトの名無しさん
2018/08/11(土) 07:04:06.66ID:N9ICkOCi718デフォルトの名無しさん
2018/08/11(土) 07:37:04.51ID:N9ICkOCi みつかりました
そんなに昔じゃなかった
2年半前
41兆くらいまで求めてます
マルチスレッドではありませんでした
処理内容はよく覚えていません
素数表作成
ビットパターン作成
ふるい
のようなコメントがあります
105単位でなにかやってます
そんなに昔じゃなかった
2年半前
41兆くらいまで求めてます
マルチスレッドではありませんでした
処理内容はよく覚えていません
素数表作成
ビットパターン作成
ふるい
のようなコメントがあります
105単位でなにかやってます
719デフォルトの名無しさん
2018/08/11(土) 09:37:18.90ID:y6G1YdWM だんだん思い出してきました
6n+1, 6n+5 に対応するビット列を保持
小さな素数の倍数はマスクを作ってAVX命令でANDしていって
大きな素数の倍数はp(210n+48個の値) にしぼって
ビット命令でひたすらふるう感じ
キャッシュサイズを考えて小さなバッファでやってます
6n+1, 6n+5 に対応するビット列を保持
小さな素数の倍数はマスクを作ってAVX命令でANDしていって
大きな素数の倍数はp(210n+48個の値) にしぼって
ビット命令でひたすらふるう感じ
キャッシュサイズを考えて小さなバッファでやってます
720デフォルトの名無しさん
2018/08/11(土) 16:27:34.72ID:VD7zYIqC いいからコード貼れや
721デフォルトの名無しさん
2018/08/12(日) 13:15:41.49ID:DNU8qmV7 お題:
ロト6で申込数字のいずれかが必ず5等以上に当選する
最小の申込数字の組み合わせを作ってください
ロト6は01〜43の数字から異なる数字6個を順番不問で選び
申込数字6個のうち3個以上が本数字と一致すれば5等以上に当選となります
ロト6で申込数字のいずれかが必ず5等以上に当選する
最小の申込数字の組み合わせを作ってください
ロト6は01〜43の数字から異なる数字6個を順番不問で選び
申込数字6個のうち3個以上が本数字と一致すれば5等以上に当選となります
722デフォルトの名無しさん
2018/08/12(日) 14:21:49.33ID:ZHEExUj+723デフォルトの名無しさん
2018/08/12(日) 14:57:56.60ID:1gNSypiF >>722
それを聞いてどうするの?
それを聞いてどうするの?
724デフォルトの名無しさん
2018/08/12(日) 15:09:35.79ID:ZHEExUj+ >>723
1〜5等に該当するならば必ず当選番号と同じ数字が少なくとも3つ入っているということがはっきりしない限り解けないでしょ
1〜5等に該当するならば必ず当選番号と同じ数字が少なくとも3つ入っているということがはっきりしない限り解けないでしょ
725デフォルトの名無しさん
2018/08/12(日) 15:11:11.96ID:ZHEExUj+ ごめん
申込数字6個のうち3個以上が本数字と一致すれば5等以上に当選となります
を
申込数字6個のうち3個以上が本数字と一致すれば5等に当選となります
と読み間違えてたわ
申込数字6個のうち3個以上が本数字と一致すれば5等以上に当選となります
を
申込数字6個のうち3個以上が本数字と一致すれば5等に当選となります
と読み間違えてたわ
726デフォルトの名無しさん
2018/08/12(日) 15:14:32.85ID:1gNSypiF727デフォルトの名無しさん
2018/08/12(日) 15:17:25.19ID:ZHEExUj+ >>726
同値だよ
同値だよ
728デフォルトの名無しさん
2018/08/12(日) 15:22:10.21ID:O4fOyJLk 15万個くらいの数字を吐き出して終わり?
729デフォルトの名無しさん
2018/08/12(日) 15:26:16.88ID:1gNSypiF730デフォルトの名無しさん
2018/08/12(日) 15:29:22.68ID:1gNSypiF731デフォルトの名無しさん
2018/08/12(日) 15:39:13.61ID:ZHEExUj+732デフォルトの名無しさん
2018/08/12(日) 17:47:14.42ID:9O3GHV+n >>706 Squeak Smalltalk
('01:23:45' subStrings: ':') reversed polynomialEval: 60 "=> 5025 "
('333:33:33' subStrings: ':') reversed polynomialEval: 60 "=> 1200813 "
Pharo Smalltalk
(('01:23:45' substrings: ':') collect: #asInteger) reversed polynomialEval: 60 "=> 5025 "
(('333:33:33' substrings: ':') collect: #asInteger) reversed polynomialEval: 60 "=> 1200813 "
('01:23:45' subStrings: ':') reversed polynomialEval: 60 "=> 5025 "
('333:33:33' subStrings: ':') reversed polynomialEval: 60 "=> 1200813 "
Pharo Smalltalk
(('01:23:45' substrings: ':') collect: #asInteger) reversed polynomialEval: 60 "=> 5025 "
(('333:33:33' substrings: ':') collect: #asInteger) reversed polynomialEval: 60 "=> 1200813 "
733デフォルトの名無しさん
2018/08/12(日) 18:43:07.08ID:9O3GHV+n >>713 Squeak/Pharo Smalltalk で 100億まで
| count |
count := 0.
Integer primesUpTo: 1e10 do: [:prime | count := count + 1].
count '=> 455052511 '
組み込みだけど、書くとしても同じアルゴリズムで書くと思うので…
https://ideone.com/zKMZYx
| count |
count := 0.
Integer primesUpTo: 1e10 do: [:prime | count := count + 1].
count '=> 455052511 '
組み込みだけど、書くとしても同じアルゴリズムで書くと思うので…
https://ideone.com/zKMZYx
734デフォルトの名無しさん
2018/08/12(日) 21:48:09.01ID:cX8lnXZC >>721 C++
https://ideone.com/gCsPec
コンビネーション使う方法と、確率DPの二通りでやってみた。
(ちなみに5個当り222本は 6本が2等で、216本が3等)
※確率、期待値系は苦手だ
https://ideone.com/gCsPec
コンビネーション使う方法と、確率DPの二通りでやってみた。
(ちなみに5個当り222本は 6本が2等で、216本が3等)
※確率、期待値系は苦手だ
735デフォルトの名無しさん
2018/08/12(日) 21:51:28.06ID:AkqOEQdA お題:ローカルホストの一覧を出力しなさい
736デフォルトの名無しさん
2018/08/12(日) 23:20:11.13ID:YPN3vVTA737デフォルトの名無しさん
2018/08/12(日) 23:45:52.09ID:3JJNsMDc それ以外にどんな解釈が?
738デフォルトの名無しさん
2018/08/13(月) 00:22:36.49ID:yY3qu6sZ >>736
完全に恥ずかしい誤読しました。
完全に恥ずかしい誤読しました。
739デフォルトの名無しさん
2018/08/13(月) 04:38:57.55ID:z6+TJcGX740デフォルトの名無しさん
2018/08/13(月) 09:43:58.01ID:ux+ef9t8741デフォルトの名無しさん
2018/08/13(月) 15:57:52.91ID:LVcLEl+f742デフォルトの名無しさん
2018/08/13(月) 16:34:44.91ID:z6+TJcGX >>741
Linux 等の UNIX 系OSで
ping -b ブロードキャストアドレス
とやると同じセグメントに繋がっているやつは ICMP ECHO を返して来て IP アドレスが分かるかも知れない。
但しファイヤーウォールの設定で返さないかも知れない。また他のセグメントにはパケット送らないのでわからない。
Linux 等の UNIX 系OSで
ping -b ブロードキャストアドレス
とやると同じセグメントに繋がっているやつは ICMP ECHO を返して来て IP アドレスが分かるかも知れない。
但しファイヤーウォールの設定で返さないかも知れない。また他のセグメントにはパケット送らないのでわからない。
743デフォルトの名無しさん
2018/08/13(月) 16:35:44.08ID:z6+TJcGX あ、ごめん。これは IPv4 限定の話かも知れない。
744デフォルトの名無しさん
2018/08/17(金) 15:41:32.33ID:N93NyTwd 身長と体重がいくつか与えられるのでBMIを求めなさい
なお身長と体重は1以上1000未満の整数とする
出力精度は小数第三位を四捨五入
各言語で一番短くかけた人が勝ち
例 ruby
while gets
end
# input
150 50
160 55
180 120
# output
なお身長と体重は1以上1000未満の整数とする
出力精度は小数第三位を四捨五入
各言語で一番短くかけた人が勝ち
例 ruby
while gets
end
# input
150 50
160 55
180 120
# output
745デフォルトの名無しさん
2018/08/17(金) 15:47:03.36ID:N93NyTwd ミスった。
単位は身長cm, 体重kg
例 ruby
while gets
h, w = $_.split.map &:to_i
puts '%.2f' % (1e4 * w / h**2)
end
# input
150 50
160 55
180 120
150 225
# output
22.22
21.48
37.04
100.00
単位は身長cm, 体重kg
例 ruby
while gets
h, w = $_.split.map &:to_i
puts '%.2f' % (1e4 * w / h**2)
end
# input
150 50
160 55
180 120
150 225
# output
22.22
21.48
37.04
100.00
746デフォルトの名無しさん
2018/08/17(金) 17:20:36.25ID:6wrElEJt747デフォルトの名無しさん
2018/08/17(金) 19:23:09.62ID:N93NyTwd748デフォルトの名無しさん
2018/08/17(金) 21:08:30.56ID:7hC1UKUq >>744
Perl
https://paiza.io/projects/4DM4_8fx_EiOXO4D3aOV4A
普通ならダブルクォーテーション使いそうな箇所で qq() 使ってクォートしている理由は今Androidのタブレット使っててうまく入力出来なかったため。
Perl
https://paiza.io/projects/4DM4_8fx_EiOXO4D3aOV4A
普通ならダブルクォーテーション使いそうな箇所で qq() 使ってクォートしている理由は今Androidのタブレット使っててうまく入力出来なかったため。
749デフォルトの名無しさん
2018/08/17(金) 23:22:41.44ID:eWaVkn5S750デフォルトの名無しさん
2018/08/18(土) 02:50:37.57ID:K3y6E3T8 鈴木貫太郎
灘中
https://youtu.be/BnS7vMsVV2s
6桁の整数、ABCDEF の一番上の位のAを、
一の位へ移動した数、BCDEFA が、元の数の3倍になるとき、
この条件を満たす、元の数をすべて(2つ)答えよ
ヒント。x = BCDEF とおいて考える
答え、142857, 285714
灘中
https://youtu.be/BnS7vMsVV2s
6桁の整数、ABCDEF の一番上の位のAを、
一の位へ移動した数、BCDEFA が、元の数の3倍になるとき、
この条件を満たす、元の数をすべて(2つ)答えよ
ヒント。x = BCDEF とおいて考える
答え、142857, 285714
>>750
n/7 循環列問題ですか…
n/7 循環列問題ですか…
752デフォルトの名無しさん
2018/08/18(土) 15:32:13.56ID:h7OdrOPI753デフォルトの名無しさん
2018/08/19(日) 01:16:27.70ID:tX8wxXbT754デフォルトの名無しさん
2018/08/19(日) 01:18:54.67ID:tX8wxXbT お題:
1.BINGOカードを作る
2.BINGO抽選機を作る
ここで使われるビンゴカードは5x5のマス目に1から75までの数字が
ランダムに配置されており、数字が見つけやすいように左の列から
B列(1〜15), I列(16〜30), N列(31〜45), G列(46〜60), O列(61〜75)が
配置された一般的によく使われるタイプ。
5x5のマスの中央はFree(すでに開いた状態)。
出力例:https://ideone.com/R6eADP
(この形に従う必要はないです)
回答例(C言語):
カード作成 https://ideone.com/aJBJ9v
抽選機 https://ideone.com/NuIRYm
1.BINGOカードを作る
2.BINGO抽選機を作る
ここで使われるビンゴカードは5x5のマス目に1から75までの数字が
ランダムに配置されており、数字が見つけやすいように左の列から
B列(1〜15), I列(16〜30), N列(31〜45), G列(46〜60), O列(61〜75)が
配置された一般的によく使われるタイプ。
5x5のマスの中央はFree(すでに開いた状態)。
出力例:https://ideone.com/R6eADP
(この形に従う必要はないです)
回答例(C言語):
カード作成 https://ideone.com/aJBJ9v
抽選機 https://ideone.com/NuIRYm
755デフォルトの名無しさん
2018/08/19(日) 03:52:23.20ID:FQWxbBlW >>750
Kotlin
https://paiza.io/projects/BFd9v2qeKaNcdssTQuj5Jw
これも力業だな。ただループして調べているだけ。
尚、最上位桁が0の場合も含めると0も該当する値になる。
Kotlin
https://paiza.io/projects/BFd9v2qeKaNcdssTQuj5Jw
これも力業だな。ただループして調べているだけ。
尚、最上位桁が0の場合も含めると0も該当する値になる。
756デフォルトの名無しさん
2018/08/19(日) 04:55:18.29ID:FQWxbBlW757デフォルトの名無しさん
2018/08/20(月) 02:30:06.13ID:V9a8ZDkH2018/08/21(火) 03:04:43.91ID:34Jmks75
お題:【構造のあるテキストの処理】各項目の内容をそれぞれソートして元のテキストに埋め込め。
====== 標準入力 ==========
* Fruit
apple
banana
orange
banana
* Animal
dog
cat
penguin
====== 標準出力 ==========
* Fruit
apple
banana
orange
* Animal
cat
dog
penguin
条件:ソートには外部コマンドを用いること。
====== 標準入力 ==========
* Fruit
apple
banana
orange
banana
* Animal
dog
cat
penguin
====== 標準出力 ==========
* Fruit
apple
banana
orange
* Animal
cat
dog
penguin
条件:ソートには外部コマンドを用いること。
759758
2018/08/21(火) 03:11:53.68ID:34Jmks75 ソートに外部コマンドを使うのは、テキストの処理を取り替える拡張を想定しています。
例えば sort -u コマンドを tr '[a-z]' '[A-Z]' に置き換えて
* Fruit
APPLE
のようにできるようにしたい。
UNIXプログラミング質問スレにて、
このような処理はシェルスクリプトには荷が重く Powershell や Ruby が向いている、みたいなことを伺いました。
ぜひ回答を参考にしたいです。
例えば sort -u コマンドを tr '[a-z]' '[A-Z]' に置き換えて
* Fruit
APPLE
のようにできるようにしたい。
UNIXプログラミング質問スレにて、
このような処理はシェルスクリプトには荷が重く Powershell や Ruby が向いている、みたいなことを伺いました。
ぜひ回答を参考にしたいです。
760デフォルトの名無しさん
2018/08/21(火) 14:35:58.26ID:2YpoFUMY >>758 Ruby
ext_cmd = 'sort -u'
ary = $<.read.scan(/\*.*?\n(?:(?=\n)|\z)/m)
str = ary.map.with_index do |s, i|
temp_fname = "temp#{i}"
File.write(temp_fname, s[/\n\K.*/m])
heading = s[/\A.*/]
execed = `#{ext_cmd} #{temp_fname}`
File.delete(temp_fname)
[heading, execed] * $/
end
puts str * $/
ext_cmd = 'sort -u'
ary = $<.read.scan(/\*.*?\n(?:(?=\n)|\z)/m)
str = ary.map.with_index do |s, i|
temp_fname = "temp#{i}"
File.write(temp_fname, s[/\n\K.*/m])
heading = s[/\A.*/]
execed = `#{ext_cmd} #{temp_fname}`
File.delete(temp_fname)
[heading, execed] * $/
end
puts str * $/
761デフォルトの名無しさん
2018/08/21(火) 14:40:47.02ID:2YpoFUMY catを使うように修正
catのヒアドキュメントさえ使えれば一時ファイル作らなくて済むんだけど
ext_cmd = 'tr a-z A-Z'
ary = $<.read.scan(/\*.*?\n(?:(?=\n)|\z)/m)
str = ary.map.with_index do |s, i|
temp_fname = "temp#{i}"
File.write(temp_fname, s[/\n\K.*/m])
heading = s[/\A.*/]
execed = `cat #{temp_fname}|#{ext_cmd}`
File.delete(temp_fname)
[heading, execed] * $/
end
puts str * $/
catのヒアドキュメントさえ使えれば一時ファイル作らなくて済むんだけど
ext_cmd = 'tr a-z A-Z'
ary = $<.read.scan(/\*.*?\n(?:(?=\n)|\z)/m)
str = ary.map.with_index do |s, i|
temp_fname = "temp#{i}"
File.write(temp_fname, s[/\n\K.*/m])
heading = s[/\A.*/]
execed = `cat #{temp_fname}|#{ext_cmd}`
File.delete(temp_fname)
[heading, execed] * $/
end
puts str * $/
762デフォルトの名無しさん
2018/08/22(水) 01:46:46.02ID:wb9Zg9xS763デフォルトの名無しさん
2018/08/22(水) 01:56:27.69ID:PmiUKg2L >>758 zsh
setopt rcquotes; sed -n '/^*/h; /^*/!{x;p;x;p;}' | paste - - \
| awk -F' ' -v OFS=' ' '$2 { print $1,$2 } ! $2 { printf "%c",0 }' \
| xargs -0 -n 1 -I@ -- zsh -c 'echo ''@'' | tee >(read -e | cut -f 1) | sed ''$d;'' | cut -f 2 | sort -u ;echo'
null区切りでチャンク分け。構造がもっと複雑になるとこの方針では対応できない。
setopt rcquotes; sed -n '/^*/h; /^*/!{x;p;x;p;}' | paste - - \
| awk -F' ' -v OFS=' ' '$2 { print $1,$2 } ! $2 { printf "%c",0 }' \
| xargs -0 -n 1 -I@ -- zsh -c 'echo ''@'' | tee >(read -e | cut -f 1) | sed ''$d;'' | cut -f 2 | sort -u ;echo'
null区切りでチャンク分け。構造がもっと複雑になるとこの方針では対応できない。
764デフォルトの名無しさん
2018/08/22(水) 03:09:32.13ID:wb9Zg9xS765デフォルトの名無しさん
2018/08/22(水) 04:46:03.18ID:h82tfzI1 単純に、別々のファイルに、分割すれば良いのでは?
* Fruit のファイル
* Animal のファイル
各ファイルを、sort, unique する
* Fruit のファイル
* Animal のファイル
各ファイルを、sort, unique する
766765
2018/08/22(水) 05:05:39.72ID:h82tfzI1 一旦、別々のファイルにしたなら、PowerShell で、
cat .\test.txt | sort | gu
gu は、Get-Unique のエイリアス。
漏れのPowerShell では、uniq のエイリアスは使えない
cat .\test.txt | sort | gu
gu は、Get-Unique のエイリアス。
漏れのPowerShell では、uniq のエイリアスは使えない
767デフォルトの名無しさん
2018/08/22(水) 08:57:59.02ID:AfGRGNs6 このスレでbashが多いのは何故?
768デフォルトの名無しさん
2018/08/22(水) 09:06:48.94ID:AfGRGNs6 今見返したらそんなに多くなかった‥
769デフォルトの名無しさん
2018/08/22(水) 09:44:37.32ID:zudhoHB+ >>767
Linuxのディストリビューションでは最初からインストールされてるのがよくあってある程度有名で、sh互換でshしか知らなくても書けるからではないかな。
それとWebの実行環境があるというのも理由かも。こういう所で公開するのには都合が良い。
Linuxのディストリビューションでは最初からインストールされてるのがよくあってある程度有名で、sh互換でshしか知らなくても書けるからではないかな。
それとWebの実行環境があるというのも理由かも。こういう所で公開するのには都合が良い。
770デフォルトの名無しさん
2018/08/22(水) 12:27:54.30ID:AfGRGNs6771デフォルトの名無しさん
2018/08/22(水) 15:46:06.44ID:PmiUKg2L >>758 zsh
setopt rcquotes; sed -E -e 's:^(\* .*):{ echo ''\1''; sort -u; echo } << *:' -e 's:^$:*:' | zsh
xargsの区切り文字の辛さからは開放されたが、echo ''\1'' がイマイチだ。
なるほど、構造のあるデータはむしろファイル階層として表現したほうが自然か…
setopt rcquotes; sed -E -e 's:^(\* .*):{ echo ''\1''; sort -u; echo } << *:' -e 's:^$:*:' | zsh
xargsの区切り文字の辛さからは開放されたが、echo ''\1'' がイマイチだ。
なるほど、構造のあるデータはむしろファイル階層として表現したほうが自然か…
772デフォルトの名無しさん
2018/08/22(水) 23:06:19.28ID:YlEU3d3x >>758 Vim
$ cat odai-pt11-758.input | vim -es '+:g /\%(^\*.*\n\)\@<=/,/[ \t\n]*\%(\n\*.*\|\%$\)/ !sort | tr a-z A-Z | nl' '+%p' '+:q!' /dev/stdin
* Fruit
1 APPLE
2 BANANA
3 BANANA
4 ORANGE
* Animal
1 CAT
2 DOG
3 PENGUIN
$
$ cat odai-pt11-758.input | vim -es '+:g /\%(^\*.*\n\)\@<=/,/[ \t\n]*\%(\n\*.*\|\%$\)/ !sort | tr a-z A-Z | nl' '+%p' '+:q!' /dev/stdin
* Fruit
1 APPLE
2 BANANA
3 BANANA
4 ORANGE
* Animal
1 CAT
2 DOG
3 PENGUIN
$
773デフォルトの名無しさん
2018/08/22(水) 23:55:42.77ID:h82tfzI1 64ビットWindows10 なら、WSL で、Ubuntu を入れると、
bash, vim, Python は最初から入っている
WindowsのExplorer では、BOMなしUTF-8 のファイルは検索できないから、
WSL でLinux側から、grep で検索している
シェルスクリプトの欠点は、パイプラインがテキスト渡しになる。
オブジェクトの型が無くなって、すべて文字列になる
一方、PowerShell ではオブジェクト渡しだから、オブジェクトの構造・型が維持できる
>>758-759
外部コマンドを切り替えるという抽象的な処理を、処理間にはさむのは難しい。
すべての処理の冒頭か最後で、一括でフィルターする方がバグらない
bash, vim, Python は最初から入っている
WindowsのExplorer では、BOMなしUTF-8 のファイルは検索できないから、
WSL でLinux側から、grep で検索している
シェルスクリプトの欠点は、パイプラインがテキスト渡しになる。
オブジェクトの型が無くなって、すべて文字列になる
一方、PowerShell ではオブジェクト渡しだから、オブジェクトの構造・型が維持できる
>>758-759
外部コマンドを切り替えるという抽象的な処理を、処理間にはさむのは難しい。
すべての処理の冒頭か最後で、一括でフィルターする方がバグらない
774デフォルトの名無しさん
2018/08/23(木) 00:19:08.54ID:FMBOl46f775765
2018/08/23(木) 09:28:38.07ID:qUZ5eK5Q Set-PSDebug -Strict # 変数宣言を強制する
$file = ( cat in.txt ) # 入力ファイル
$dat_basenames = @() # 拡張子なしのファイル名の配列
foreach ( $line in $file ) { # 各行
if( $line.Length -eq 0 ){ continue } # 空行は処理しない
if ( $line.Substring( 0, 1 ) -eq '*' ) { # 1文字目が、* なら
$fname = $line.Substring( 2 )
$dat_basenames += $fname # 追加
$fname += '.dat' # 拡張子つき
} else {
Add-Content $fname $line # 追記
}
}
foreach ( $dbname in $dat_basenames ) { # 各 .dat ファイル
$fname = $dbname + '.dat' # 拡張子つき
$str = "* ${dbname}`r`n"
$tmp = cat $fname | sort | gu # sort, unique
$str += ( $tmp -join "`r`n" ) # 改行区切り
echo $str
}
PowerShell で作った。
cd で、作業フォルダへ移動してから実行して
入力ファイル、in.txt から、各ファイルへ分割する。
分割後のファイル名を、Fruit.dat, Animal.dat として、各ファイルを処理した
$file = ( cat in.txt ) # 入力ファイル
$dat_basenames = @() # 拡張子なしのファイル名の配列
foreach ( $line in $file ) { # 各行
if( $line.Length -eq 0 ){ continue } # 空行は処理しない
if ( $line.Substring( 0, 1 ) -eq '*' ) { # 1文字目が、* なら
$fname = $line.Substring( 2 )
$dat_basenames += $fname # 追加
$fname += '.dat' # 拡張子つき
} else {
Add-Content $fname $line # 追記
}
}
foreach ( $dbname in $dat_basenames ) { # 各 .dat ファイル
$fname = $dbname + '.dat' # 拡張子つき
$str = "* ${dbname}`r`n"
$tmp = cat $fname | sort | gu # sort, unique
$str += ( $tmp -join "`r`n" ) # 改行区切り
echo $str
}
PowerShell で作った。
cd で、作業フォルダへ移動してから実行して
入力ファイル、in.txt から、各ファイルへ分割する。
分割後のファイル名を、Fruit.dat, Animal.dat として、各ファイルを処理した
776デフォルトの名無しさん
2018/08/24(金) 05:00:24.02ID:QxK4Y8yu 点が10個一直線に並んでおり、各点が他の点との右方向の距離をいくつか知っている時、最も左にある点を求めよ
最も左にある点が求められない時はあと何の情報があれば求められるのかを最低個数で列挙すること
例1
a,b,cの点がある。
a点はb点が30右にあることを知っている。
b点は何も知らない。
c点はb点が-40右にあることをしっている。
結果
最も左にある点はa点
例2
a,b,c,dの点がある。
a点はb点が30右にあることを知っている。
b点は何も知らない
c点はd点が20右にあることを知っている。
d点は何も知らない。
結果
求められない。必要な情報は
a点からc点までの距離
最も左にある点が求められない時はあと何の情報があれば求められるのかを最低個数で列挙すること
例1
a,b,cの点がある。
a点はb点が30右にあることを知っている。
b点は何も知らない。
c点はb点が-40右にあることをしっている。
結果
最も左にある点はa点
例2
a,b,c,dの点がある。
a点はb点が30右にあることを知っている。
b点は何も知らない
c点はd点が20右にあることを知っている。
d点は何も知らない。
結果
求められない。必要な情報は
a点からc点までの距離
777デフォルトの名無しさん
2018/08/24(金) 05:58:44.74ID:rBPgXHvS >>776
実際に自分で書いてみて、求められたら解答例を提示できる?
実際に自分で書いてみて、求められたら解答例を提示できる?
778デフォルトの名無しさん
2018/08/24(金) 08:02:12.41ID:ZkSPfVdV 「知っている」の主語が点に見えるけど
そうじゃないよね?
なんでそういう文にしたの?
そうじゃないよね?
なんでそういう文にしたの?
779デフォルトの名無しさん
2018/08/24(金) 10:33:50.94ID:phPhGhWW 連結リストを使って、出来上がったグラフが連結なら求められる
つまり、出来上がったグラフが二つ三つそれ以上に分かれている非連結グラフになってると、距離は分からない
……直感的には多分こうだが、何かしらの証明は必要
「連結グラフだが距離が分からない」反例があればいい
つまり、出来上がったグラフが二つ三つそれ以上に分かれている非連結グラフになってると、距離は分からない
……直感的には多分こうだが、何かしらの証明は必要
「連結グラフだが距離が分からない」反例があればいい
780デフォルトの名無しさん
2018/08/24(金) 11:28:11.41ID:qtSNV1ih781765
2018/08/24(金) 12:34:38.87ID:ZgK6e0Tb text = File.read 'in.txt' # 入力ファイル
header = ""
str_hash = { }
result = [ ]
def sort_string ( head, hash, res )
res.push head
Hash[ hash.sort ].each_key { |key| res.push key } # sort
hash.clear # 空にする
end
text.each_line do |line| # 各行
line.chomp! # 末尾の改行を削除する
next if line.empty? # 空文字は処理しない
if line.start_with? '*' # 先頭文字が、* なら
sort_string( header, str_hash, result ) unless str_hash.empty? # 空でなければ
header = line
else
str_hash[ line ] = true
end
end
sort_string( header, str_hash, result )
puts result
Ruby で作った。
PowerShell よりは断然、作りやすい。
ただ、sort_string( ) を2か所で呼ぶのが、ダサイ
header = ""
str_hash = { }
result = [ ]
def sort_string ( head, hash, res )
res.push head
Hash[ hash.sort ].each_key { |key| res.push key } # sort
hash.clear # 空にする
end
text.each_line do |line| # 各行
line.chomp! # 末尾の改行を削除する
next if line.empty? # 空文字は処理しない
if line.start_with? '*' # 先頭文字が、* なら
sort_string( header, str_hash, result ) unless str_hash.empty? # 空でなければ
header = line
else
str_hash[ line ] = true
end
end
sort_string( header, str_hash, result )
puts result
Ruby で作った。
PowerShell よりは断然、作りやすい。
ただ、sort_string( ) を2か所で呼ぶのが、ダサイ
782デフォルトの名無しさん
2018/08/25(土) 17:43:06.40ID:nE7N9dPk お題
将棋の初期状態の駒40枚を
利き筋に他の駒がないように配置する
将棋の初期状態の駒40枚を
利き筋に他の駒がないように配置する
783デフォルトの名無しさん
2018/08/25(土) 20:05:04.08ID:486ljwsa 1000垓通り表示しろとでも?
784デフォルトの名無しさん
2018/08/25(土) 20:45:34.12ID:WT6GNhg9 明記されてない条件は好きにしていいのがこのスレのルールですよ
785デフォルトの名無しさん
2018/08/25(土) 20:55:52.54ID:N/q1MSK+ お題を出す前に出題者は自分の解答を(解くことが可能かの確認も兼ね)作っておくのもルールだ
適切な入出力例や問題文にあるべき条件が抜けてるっていうのはそれをやってない証拠
適切な入出力例や問題文にあるべき条件が抜けてるっていうのはそれをやってない証拠
786デフォルトの名無しさん
2018/08/25(土) 22:57:36.63ID:yggGxXGy787デフォルトの名無しさん
2018/08/26(日) 08:39:25.15ID:8NHhsyIb トランプの配置についてのアルゴリズムを考えてます。
トランプの横幅をX
トランプの高さをYとし
並べるトランプは偶数枚
全てのトランプを配置した時の全体を、トランプ配置と呼ぶとして
トランプ配置の横幅と縦幅の割合を、おおよそX:Yとしたい
この場合、アルゴリズムはどう考えたらいいでしょうか?
トランプの横幅をX
トランプの高さをYとし
並べるトランプは偶数枚
全てのトランプを配置した時の全体を、トランプ配置と呼ぶとして
トランプ配置の横幅と縦幅の割合を、おおよそX:Yとしたい
この場合、アルゴリズムはどう考えたらいいでしょうか?
788デフォルトの名無しさん
2018/08/26(日) 09:35:40.65ID:/JFPzkHn ゴリ押しの総当たり
並べる枚数横にx縦にyが無尽蔵に大きくなれば比率に近づく
並べるトランプの上限が決まって無くて偶数枚だけが条件なら延々と並べる枚数を増やせばいい
一兆枚くらい並べれば比率はX/Yに近づく
1000000000億兆枚くらいのトランプを使えば横幅X高さYなんて充分に蟲出来るから全体の割合を調整するのは枚数が多ければ多いほどラク
10那由多ほど並べれば、本当にカードは点くらいなもので、縦横比率はx、yの枚数だけで決まる
並べる枚数横にx縦にyが無尽蔵に大きくなれば比率に近づく
並べるトランプの上限が決まって無くて偶数枚だけが条件なら延々と並べる枚数を増やせばいい
一兆枚くらい並べれば比率はX/Yに近づく
1000000000億兆枚くらいのトランプを使えば横幅X高さYなんて充分に蟲出来るから全体の割合を調整するのは枚数が多ければ多いほどラク
10那由多ほど並べれば、本当にカードは点くらいなもので、縦横比率はx、yの枚数だけで決まる
789デフォルトの名無しさん
2018/08/26(日) 09:52:42.49ID:O9adGcKd790デフォルトの名無しさん
2018/08/26(日) 09:59:10.89ID:O9adGcKd791デフォルトの名無しさん
2018/08/26(日) 11:08:57.34ID:MXsSoN4T n枚をnX nYの長方形の対角線上に斜めにならべれば
X:Yになるけど
問題あってる?
X:Yになるけど
問題あってる?
792デフォルトの名無しさん
2018/08/26(日) 13:16:22.70ID:HHP/3bjy >>787
┌─┐
│ ?│
└─┘
これを偶数枚並べて縦横比同じにするなら
こうだよね
↓
┌─┬─┐
│ ?│ ?│
├─┼─┤
│ ?│ ?│
└─┴─┘
アルゴリズムもクソもないように思うのだが?
問題の書き方間違ってない?
┌─┐
│ ?│
└─┘
これを偶数枚並べて縦横比同じにするなら
こうだよね
↓
┌─┬─┐
│ ?│ ?│
├─┼─┤
│ ?│ ?│
└─┴─┘
アルゴリズムもクソもないように思うのだが?
問題の書き方間違ってない?
793デフォルトの名無しさん
2018/08/26(日) 13:22:25.82ID:6zIp6UvA さすがに、
枚数は外から与えられるのでは?
枚数は外から与えられるのでは?
794デフォルトの名無しさん
2018/08/26(日) 16:57:45.44ID:2xrJOS4Z 枚数nに対して p * q = n を満たす正の整数 p, q の内 |p - q| / |p^2 + q^2| が最小になる組み合わせを求めるだけでしょ?
https://mevius.5ch.net/test/read.cgi/tech/1480579110/981
に引き続いて、現に困ってしまった問題を出題
windows コマンドラインの xcopy コマンドを実装せよ
コマンドラインから「xcopy パス1 パス2」 と入力すると
パス1 以下にあるファイルをすべてパス2以下にコピーするようにせよ
ディレクトリについては、再帰的にコピーせよ
・現実の xcopy コマンドには色々なオプションがあるが、それは実装しなくてもよい
・読み込み対象のファイルの属性については考慮しなくてよい、読み込めるファイルのみ所定のパスにコピーできればそれでよい
・その他、コピーに問題のある状態が発生したときには、標準エラー出力にエラー内容を表示すればそれでいい
Windows Update の度にPCが激遅になるのに堪えかねて、C ドライブを SSD に換えることにしました。OS は再度インストールしなおすつもりです。
現在の C ドライブの内容は別途コピーしておいて、困ったときには参照できるようにしたいと思いました。
ところが、「xcopy c: x:/tmp」とすると、「メモリーが足りなくなった」といって途中で止まるのです…困りました…
に引き続いて、現に困ってしまった問題を出題
windows コマンドラインの xcopy コマンドを実装せよ
コマンドラインから「xcopy パス1 パス2」 と入力すると
パス1 以下にあるファイルをすべてパス2以下にコピーするようにせよ
ディレクトリについては、再帰的にコピーせよ
・現実の xcopy コマンドには色々なオプションがあるが、それは実装しなくてもよい
・読み込み対象のファイルの属性については考慮しなくてよい、読み込めるファイルのみ所定のパスにコピーできればそれでよい
・その他、コピーに問題のある状態が発生したときには、標準エラー出力にエラー内容を表示すればそれでいい
Windows Update の度にPCが激遅になるのに堪えかねて、C ドライブを SSD に換えることにしました。OS は再度インストールしなおすつもりです。
現在の C ドライブの内容は別途コピーしておいて、困ったときには参照できるようにしたいと思いました。
ところが、「xcopy c: x:/tmp」とすると、「メモリーが足りなくなった」といって途中で止まるのです…困りました…
>>795
条件を追加します
ハードリンクやシンボリックリンクは考えなくともよい
xcopy パス1 パス2
のパス2 がパス1 の下にある場合、実装がまずいと永遠にコピーし続ける困ったことになるが、それも考慮しなくてもよい
(今回やりたいことは、「xcopy c: x:/tmp」であるので、これが問題なく動けばそれでよい…)
条件を追加します
ハードリンクやシンボリックリンクは考えなくともよい
xcopy パス1 パス2
のパス2 がパス1 の下にある場合、実装がまずいと永遠にコピーし続ける困ったことになるが、それも考慮しなくてもよい
(今回やりたいことは、「xcopy c: x:/tmp」であるので、これが問題なく動けばそれでよい…)
797デフォルトの名無しさん
2018/08/27(月) 00:30:49.02ID:FMLlc3nv お金くれたら書くよ
>>797
ビットコインではいかがでしょう?
ビットコインではいかがでしょう?
799デフォルトの名無しさん
2018/08/27(月) 03:58:54.01ID:EFFRlxLO800デフォルトの名無しさん
2018/08/27(月) 10:42:11.16ID:ywsjsNTA >>795
Windowsならエクスプローラ使ってただコピーするのでは何か不都合があるのか?
まあ、お題としてそういうのなしで作れというのはアリだが、なんとなくWindowsの場合はエクスプローラが使っているのと同じライブラリ関数を一回呼び出すだけで終わってしまいそうな気がしてならない。
Windowsならエクスプローラ使ってただコピーするのでは何か不都合があるのか?
まあ、お題としてそういうのなしで作れというのはアリだが、なんとなくWindowsの場合はエクスプローラが使っているのと同じライブラリ関数を一回呼び出すだけで終わってしまいそうな気がしてならない。
801デフォルトの名無しさん
2018/08/27(月) 11:41:58.10ID:ba8BcfX3 xcopy ではなく、robocopy を使えば?
802デフォルトの名無しさん
2018/08/27(月) 21:06:25.46ID:wliJqEsP >>792
他の人も勘違いしてるけど、横縦比をx:yにする問題だよ。おおよそらしいけど。
他の人も勘違いしてるけど、横縦比をx:yにする問題だよ。おおよそらしいけど。
803デフォルトの名無しさん
2018/08/27(月) 21:25:27.41ID:C1HpzEi0 >>802
問題を読んでみな
問題を読んでみな
804デフォルトの名無しさん
2018/08/27(月) 21:34:12.17ID:wliJqEsP 失礼しました…
805デフォルトの名無しさん
2018/08/27(月) 21:37:25.51ID:l2rfNjjd806デフォルトの名無しさん
2018/08/27(月) 21:41:44.66ID:l2rfNjjd ごめん。逆か。まあしかしわかるよね。
>>795-796
https://mevius.5ch.net/test/read.cgi/tech/1434079972/52
>>799
有用な情報ありがとうございます
なるほど、256バイト以上のパスは受け付けない、ですか…
MSDN https://msdn.microsoft.com/ja-jp/library/cc429198.aspx
なんかをみると、「この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加してください。」と書いてありますね
でも、C++ でユニコードバージョンに対応させるってどうするのだろう?#define UNICODE だけではダメみたいだし…
https://mevius.5ch.net/test/read.cgi/tech/1434079972/52
>>799
有用な情報ありがとうございます
なるほど、256バイト以上のパスは受け付けない、ですか…
MSDN https://msdn.microsoft.com/ja-jp/library/cc429198.aspx
なんかをみると、「この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加してください。」と書いてありますね
でも、C++ でユニコードバージョンに対応させるってどうするのだろう?#define UNICODE だけではダメみたいだし…
808デフォルトの名無しさん
2018/08/28(火) 00:22:03.08ID:LPHHle1d809デフォルトの名無しさん
2018/08/28(火) 00:26:01.26ID:04IHxsB7 >>807
そろそろ適切なスレに移動したら?
そろそろ適切なスレに移動したら?
811デフォルトの名無しさん
2018/08/28(火) 02:44:52.27ID:Z7hOIgIF スレタイも読めないのかこいつは・・・
812デフォルトの名無しさん
2018/08/28(火) 10:27:46.88ID:QGrjhPlD813デフォルトの名無しさん
2018/08/28(火) 16:31:53.27ID:C1AWmFJx >>812
与えられると何処に書いてある?
与えられると何処に書いてある?
814デフォルトの名無しさん
2018/08/28(火) 18:47:35.73ID:4ROMapnq とりあえず>>787はちゃんと問題書くか取り下げるかしろよ…
815デフォルトの名無しさん
2018/08/28(火) 22:17:12.42ID:QGrjhPlD >>813
近似値も想定している文意から汲めないならアスペ
近似値も想定している文意から汲めないならアスペ
816デフォルトの名無しさん
2018/08/28(火) 22:36:38.28ID:Gymzh0gE >>815
とりあえずお前の解釈を書いてみな
とりあえずお前の解釈を書いてみな
817デフォルトの名無しさん
2018/08/28(火) 23:00:50.43ID:QGrjhPlD818デフォルトの名無しさん
2018/08/28(火) 23:15:02.28ID:Gymzh0gE n枚を矩形になるように並べる
なんてことは書いてないけど
あと
『|X/Y - x/y| が最小』
は数学的センスが無い
x,yを入れ替えても値が変わらない誤差の定義にしたい
なんてことは書いてないけど
あと
『|X/Y - x/y| が最小』
は数学的センスが無い
x,yを入れ替えても値が変わらない誤差の定義にしたい
819デフォルトの名無しさん
2018/08/29(水) 00:49:59.45ID:e0sa1Xvi >>818
矩形じゃないと縦幅と横幅が定義できないからそこはいいんでない?
>『|X/Y - x/y| が最小』は数学的センスが無い
はその通りだね
m := min{x, y}, M := max{x, y}, λ_x = X, λ_y = Y として
として |m/M - λ_m/λ_M|の最小値を求めるべきだね
矩形じゃないと縦幅と横幅が定義できないからそこはいいんでない?
>『|X/Y - x/y| が最小』は数学的センスが無い
はその通りだね
m := min{x, y}, M := max{x, y}, λ_x = X, λ_y = Y として
として |m/M - λ_m/λ_M|の最小値を求めるべきだね
820デフォルトの名無しさん
2018/08/29(水) 08:01:13.69ID:cDvJjkNL821デフォルトの名無しさん
2018/08/29(水) 08:06:49.08ID:e0sa1Xvi822デフォルトの名無しさん
2018/08/29(水) 08:18:18.70ID:cDvJjkNL 横方向をx軸、縦方向をy軸としたx, y平面上に
トランプを並べるとする
有限サイズ(>0)のトランプを有限枚(>0)並べるので
トランプは有界で非空
xの上限 - xの下限 = 横幅
yの上限 - yの下限 = 縦幅
トランプを並べるとする
有限サイズ(>0)のトランプを有限枚(>0)並べるので
トランプは有界で非空
xの上限 - xの下限 = 横幅
yの上限 - yの下限 = 縦幅
823デフォルトの名無しさん
2018/08/29(水) 08:21:39.47ID:cDvJjkNL >>819 後半
さらにセンスが無い
さらにセンスが無い
824デフォルトの名無しさん
2018/08/29(水) 08:41:09.91ID:F6DjsKzv オレオレ解釈でマウント取合いかよ w
825デフォルトの名無しさん
2018/08/29(水) 09:24:22.25ID:e0sa1Xvi >>822
勝手な距離空間持ち出してこないでくれませんかねぇ
勝手な距離空間持ち出してこないでくれませんかねぇ
826デフォルトの名無しさん
2018/08/29(水) 12:43:01.20ID:r/8waa6p 勝手な距離空間www
後に引けなくなってさらに痛くなる
後に引けなくなってさらに痛くなる
827デフォルトの名無しさん
2018/08/29(水) 17:30:59.79ID:e0sa1Xvi はいはい。頭いいね坊や
今度からは算数をきちんと勉強してからレスしてね
今度からは算数をきちんと勉強してからレスしてね
828デフォルトの名無しさん
2018/08/29(水) 19:00:11.58ID:bZ2D0xRL >>815
お前は勝手に汲み過ぎ
お前は勝手に汲み過ぎ
829デフォルトの名無しさん
2018/08/29(水) 19:03:26.04ID:e0sa1Xvi >>828
はいはいよかったですねー
はいはいよかったですねー
830デフォルトの名無しさん
2018/08/29(水) 19:10:03.95ID:bZ2D0xRL >>829
君が元の問題を書いた人か?
君が元の問題を書いた人か?
831デフォルトの名無しさん
2018/08/29(水) 19:24:13.92ID:5cagDv75 お題:標準入力から(で始まり)で終わる顔文字が与えられる。この顔文字を太らせて標準出力に出力しなさい。
832デフォルトの名無しさん
2018/08/29(水) 19:40:07.15ID:e0sa1Xvi833デフォルトの名無しさん
2018/08/29(水) 19:41:27.76ID:5CKWgBXh テンソル君頑張ってるね
834デフォルトの名無しさん
2018/08/29(水) 19:53:04.28ID:5CKWgBXh トランプを並べる問題で
非ユークリッド空間を前提にしちゃう
頭がおかしい人
非ユークリッド空間を前提にしちゃう
頭がおかしい人
835デフォルトの名無しさん
2018/08/29(水) 20:01:44.71ID:F6DjsKzv 頓珍漢なオレオレ解釈提示してドヤってる方がウザいわ
836デフォルトの名無しさん
2018/08/29(水) 20:11:16.34ID:V4Xw96gq837デフォルトの名無しさん
2018/08/29(水) 22:16:45.79ID:Nirpjn+4 × 問題としては終わってる
○ 人間としては終わってる
○ 人間としては終わってる
838デフォルトの名無しさん
2018/08/29(水) 22:32:57.89ID:cDvJjkNL どこからも
矩形に隙間なく並べる
とは読めないのだけど
矩形に隙間なく並べる
とは読めないのだけど
839デフォルトの名無しさん
2018/08/29(水) 22:47:22.89ID:AXEWk4o3 書かれていない条件は勝手に解釈すればいい
その条件の問題を解くのが楽しいと感じるならその条件で回答すればいいだけ
グダグダと問題自体を統一する必要は無い
その条件の問題を解くのが楽しいと感じるならその条件で回答すればいいだけ
グダグダと問題自体を統一する必要は無い
840デフォルトの名無しさん
2018/08/29(水) 22:49:31.68ID:cDvJjkNL さすがに非ユークリッド空間は無いだろ
841デフォルトの名無しさん
2018/08/29(水) 23:06:35.04ID:rr2ZC/zS 偶数枚並べるようなゲームを想定してるんでしょ
842デフォルトの名無しさん
2018/08/29(水) 23:10:01.39ID:cDvJjkNL >>839
「問題を解く」という言葉がふさわしいような条件が見つからないから困っているわけで
「問題を解く」という言葉がふさわしいような条件が見つからないから困っているわけで
843デフォルトの名無しさん
2018/08/30(木) 00:01:13.99ID:s4UfRJo7 面白みが無いならスルーでいいだろ
844デフォルトの名無しさん
2018/08/30(木) 01:37:09.37ID:qgZ9UxCP845デフォルトの名無しさん
2018/08/30(木) 19:45:18.01ID:PhGGZV18 >>844
OKです
OKです
846デフォルトの名無しさん
2018/08/31(金) 20:49:23.29ID:QC9x0InA847デフォルトの名無しさん
2018/08/31(金) 21:01:15.01ID:QC9x0InA848デフォルトの名無しさん
2018/08/31(金) 21:58:19.14ID:UbfaileO >>247 Squeak Smalltalk, インスタンス変数で254個まで
| obj n limit |
obj := Object new assureUniClass.
n := 0.
[[obj addInstanceVarNamed: 'i', (n := n + 1) asString withValue: n] repeat] ifError: [].
limit := obj class instSize. "=> 254 "
obj instanceVariableValues asArray = (1 to: limit) asArray "=> true "
| obj n limit |
obj := Object new assureUniClass.
n := 0.
[[obj addInstanceVarNamed: 'i', (n := n + 1) asString withValue: n] repeat] ifError: [].
limit := obj class instSize. "=> 254 "
obj instanceVariableValues asArray = (1 to: limit) asArray "=> true "
849デフォルトの名無しさん
2018/08/31(金) 23:18:37.32ID:hdwU5T2H 自然数nに対して
3Σ_{k = 0}^{2n}(-2)^k / (2n + 1)^2
が整数となるnを総て求めよ
3Σ_{k = 0}^{2n}(-2)^k / (2n + 1)^2
が整数となるnを総て求めよ
850デフォルトの名無しさん
2018/09/01(土) 10:36:15.07ID:oWRhkMQP 数学厨は帰れ
851デフォルトの名無しさん
2018/09/01(土) 10:57:14.89ID:Wx/QBEc1 >>849
数式というか文字が何を表しているのか分からない。最初の { の直前の _ は何を意味するんだ?
更に { } で括った部分と ( ) で括った部分の違いは?
まあわかったとしても解く気は起きないかも知れないので面倒なら解説しなくても良い。
数式というか文字が何を表しているのか分からない。最初の { の直前の _ は何を意味するんだ?
更に { } で括った部分と ( ) で括った部分の違いは?
まあわかったとしても解く気は起きないかも知れないので面倒なら解説しなくても良い。
852デフォルトの名無しさん
2018/09/01(土) 11:24:51.31ID:DlN6jaxu853デフォルトの名無しさん
2018/09/01(土) 12:14:11.54ID:9UhZQst+ 数学板でお題スレ立てようかと思ったらすでに似たようなスレがあった
面白い問題おしえて〜な 27問目
https://rio2016.5ch.net/test/read.cgi/math/1532793672/
面白い問題おしえて〜な 27問目
https://rio2016.5ch.net/test/read.cgi/math/1532793672/
855デフォルトの名無しさん
2018/09/02(日) 04:36:43.72ID:4Jf6YH6e >>852
そういう意味だとすると>>849はこうかな。
Kotlin
https://paiza.io/projects/3ObT5j3XNNkuKqDXdk6E7g
しかし、本当にこれで全てなのかは不明。
Double 型で計算できる所まで計算して結果が整数の時の n を出してるだけなので。
そういう意味だとすると>>849はこうかな。
Kotlin
https://paiza.io/projects/3ObT5j3XNNkuKqDXdk6E7g
しかし、本当にこれで全てなのかは不明。
Double 型で計算できる所まで計算して結果が整数の時の n を出してるだけなので。
856デフォルトの名無しさん
2018/09/02(日) 10:05:17.48ID:jaQJTA9z >>849
(1 + 2 ^ (2n + 1)) / (2n + 1) ^ 2
に変形できる
答えは多分n=1だけだと思う
python3で時間いっぱいまで総当たり
https://ideone.com/GGijCL
(1 + 2 ^ (2n + 1)) / (2n + 1) ^ 2
に変形できる
答えは多分n=1だけだと思う
python3で時間いっぱいまで総当たり
https://ideone.com/GGijCL
857デフォルトの名無しさん
2018/09/02(日) 11:43:51.21ID:/9nCrt4M >>849は数学オリンピックのマスターデーモンだな
答えはn=0, 1のみ
答えはn=0, 1のみ
858デフォルトの名無しさん
2018/09/02(日) 16:00:22.41ID:4Jf6YH6e ごめん。>>855は3倍するのを忘れていた。
859デフォルトの名無しさん
2018/09/02(日) 17:40:51.50ID:4Jf6YH6e860デフォルトの名無しさん
2018/09/02(日) 17:46:26.05ID:4Jf6YH6e861デフォルトの名無しさん
2018/09/02(日) 18:31:32.88ID:jaQJTA9z862デフォルトの名無しさん
2018/09/02(日) 18:47:50.05ID:4Jf6YH6e863デフォルトの名無しさん
2018/09/05(水) 09:52:56.23ID:lHAOj/Nm864デフォルトの名無しさん
2018/09/08(土) 22:16:42.52ID:vC/rF1cv 質問スレからパクってきた配列の易しい問題
質問者は他レス見るにプログラミング自体経験なさそうだが
893 デフォルトの名無しさん (アウアウカー Sa8f-aTuM [182.250.241.36])[sage] 2018/09/08(土) 21:43:04.65 ID:6/Xg/XCUa
どこで質問するべき内容なのか迷っていたのですが調べているとプログラミング関係のようなのでここで質問させていただきます
例えば
1〜50までの数字の中で数字を10個ランダムで選ぶ乱数ツールは検索するとすぐにでてきます
しかし、自分が求めているものは2つあり
@
1〜50までの数字の中で2.16.22.23.42.50を除いて10個ランダムで選ぶことができるもの
A
1.2.5.6.16.18.20.21.23.28.30.33.39.4047.49.50の選択した数字中から10個ランダムで選ぶことができるもの
@とAで挙げた数字は適当ですが場合によっては@で除外した数字やAの選択した数字は変えたいです
このような場合自分でプログラミングしないといけないのでしょうか?
質問者は他レス見るにプログラミング自体経験なさそうだが
893 デフォルトの名無しさん (アウアウカー Sa8f-aTuM [182.250.241.36])[sage] 2018/09/08(土) 21:43:04.65 ID:6/Xg/XCUa
どこで質問するべき内容なのか迷っていたのですが調べているとプログラミング関係のようなのでここで質問させていただきます
例えば
1〜50までの数字の中で数字を10個ランダムで選ぶ乱数ツールは検索するとすぐにでてきます
しかし、自分が求めているものは2つあり
@
1〜50までの数字の中で2.16.22.23.42.50を除いて10個ランダムで選ぶことができるもの
A
1.2.5.6.16.18.20.21.23.28.30.33.39.4047.49.50の選択した数字中から10個ランダムで選ぶことができるもの
@とAで挙げた数字は適当ですが場合によっては@で除外した数字やAの選択した数字は変えたいです
このような場合自分でプログラミングしないといけないのでしょうか?
865デフォルトの名無しさん
2018/09/08(土) 22:39:44.98ID:CrgXDO1K 百錬の覇王と召喚少女の奴隷魔術
866デフォルトの名無しさん
2018/09/08(土) 22:41:19.06ID:CrgXDO1K >>865
誤爆
誤爆
867デフォルトの名無しさん
2018/09/08(土) 22:56:28.52ID:DvgxKi+t >>864 Squeak/Pharo Smalltalk
"@"
((1 to: 50) copyWithoutAll: #(2 16 22 23 42.50)) shuffle first: 10.
"A"
#(1 2 5 6 16 18 20 21 23 28 30 33 39 40 47 49 50) shuffle first: 10.
"@"
((1 to: 50) copyWithoutAll: #(2 16 22 23 42.50)) shuffle first: 10.
"A"
#(1 2 5 6 16 18 20 21 23 28 30 33 39 40 47 49 50) shuffle first: 10.
868デフォルトの名無しさん
2018/09/09(日) 10:46:50.62ID:yaYW83OX >>864 Ruby
([*1..50] - [2, 16, 22, 23, 42, 50]).sample(10)
[1, 2, 5, 6, 16, 18, 20, 21, 23, 28, 30, 33, 39, 40, 47, 49, 50].sample(10)
というか1~44までの数字の中で数字を10個ランダムで選ぶ乱数ツール使えばいいだけなのに質問者が謎
([*1..50] - [2, 16, 22, 23, 42, 50]).sample(10)
[1, 2, 5, 6, 16, 18, 20, 21, 23, 28, 30, 33, 39, 40, 47, 49, 50].sample(10)
というか1~44までの数字の中で数字を10個ランダムで選ぶ乱数ツール使えばいいだけなのに質問者が謎
869デフォルトの名無しさん
2018/09/09(日) 10:51:12.28ID:XJaXrhZ0 ロト6を当てたい一般人だろ
そんくらいは察してやれよ
そんくらいは察してやれよ
870デフォルトの名無しさん
2018/09/09(日) 11:22:22.79ID:VWkPHcyt >>868>>869
自演
自演
871デフォルトの名無しさん
2018/09/09(日) 11:49:05.41ID:na1duSUN >>868
アスペ
アスペ
872デフォルトの名無しさん
2018/09/09(日) 12:05:30.79ID:yaYW83OX お、質問者様の登場か?w
873デフォルトの名無しさん
2018/09/09(日) 13:55:51.77ID:na1duSUN >>872
糖質かよ
糖質かよ
874デフォルトの名無しさん
2018/09/09(日) 14:04:26.80ID:iiqq7TK9 発達障害イライラでワロタ
875デフォルトの名無しさん
2018/09/09(日) 14:05:05.91ID:juRJVYHI くこけ?😗
876デフォルトの名無しさん
2018/09/09(日) 14:06:54.57ID:MtkyzY0F とうふさんはすこか??😍
877デフォルトの名無しさん
2018/09/09(日) 14:08:03.90ID:uzOuEcd3 自演死ね
878デフォルトの名無しさん
2018/09/09(日) 14:08:44.70ID:x2owZh/r イ '、
/ ハ ',
i ハ ノ | i、 |
r‐-、 ,...,, | リ从-ノ ノリノノ-)リ、 l
:i! i! |: : i!| | リ ‐=・-; -・=‐ Y l イェ〜イ〜プログラミング好きなオタクみってるう?なんJ民デース!
! i!. | ;| . .i从 | ` ̄,:  ̄´ |从!
i! ヽ | | i リ,i ゚人,,__,,人:. | リ}
ゝ `-! :|! . ハ: i. , __ij..__ 、: 'iノ´
r'"~`ヾ、 i! 彡、 `Zエlフ'´ /ミ
,.ゝ、 r'""`ヽ、i! 彡イ\ ` ̄´ / ト ミ
!、 `ヽ、ー、 ヽ _/ ∧ > ―< ∧ \
| \ i:" ) ─ ' ¨: : : : | \ / |: : : \
/ ハ ',
i ハ ノ | i、 |
r‐-、 ,...,, | リ从-ノ ノリノノ-)リ、 l
:i! i! |: : i!| | リ ‐=・-; -・=‐ Y l イェ〜イ〜プログラミング好きなオタクみってるう?なんJ民デース!
! i!. | ;| . .i从 | ` ̄,:  ̄´ |从!
i! ヽ | | i リ,i ゚人,,__,,人:. | リ}
ゝ `-! :|! . ハ: i. , __ij..__ 、: 'iノ´
r'"~`ヾ、 i! 彡、 `Zエlフ'´ /ミ
,.ゝ、 r'""`ヽ、i! 彡イ\ ` ̄´ / ト ミ
!、 `ヽ、ー、 ヽ _/ ∧ > ―< ∧ \
| \ i:" ) ─ ' ¨: : : : | \ / |: : : \
879デフォルトの名無しさん
2018/09/09(日) 14:09:07.67ID:0efZNutP くこは罠🙅♀
880ニャース
2018/09/09(日) 14:09:35.76ID:AYD3VQs9 ここでしたか
881デフォルトの名無しさん
2018/09/09(日) 14:09:50.68ID:+yUoETM4 グレイシアちゃんのふたなりチンポ
882デフォルトの名無しさん
2018/09/09(日) 14:10:48.73ID:m5NrVMRk 【怒報】ワイ 専門板にて1人からアスペやら糖質認定を受ける【援護求む】
http://swallow.5ch.net/test/read.cgi/livejupiter/1536469396/
http://swallow.5ch.net/test/read.cgi/livejupiter/1536469396/
883デフォルトの名無しさん
2018/09/09(日) 14:11:31.78ID:lnlyvEPx なんJから来たンゴwwwwwwww
884デフォルトの名無しさん
2018/09/09(日) 14:12:42.07ID:V2BhMRg2 なんjの絆舐めるな!
885デフォルトの名無しさん
2018/09/09(日) 14:14:26.66ID:JLLEIooV 試合中やぞ
886デフォルトの名無しさん
2018/09/09(日) 14:15:18.48ID:KoiRlOSP なんだこのスレ😨
887デフォルトの名無しさん
2018/09/09(日) 14:15:42.19ID:1Rk7pi2L アスペの>>868が居ると聞いて
888デフォルトの名無しさん
2018/09/09(日) 14:16:23.81ID:7fkrmWDW なんj書き込んだキッズ
今度から一人で解決しようね🤗
今度から一人で解決しようね🤗
889デフォルトの名無しさん
2018/09/09(日) 14:16:27.10ID:KW6FAnPg890デフォルトの名無しさん
2018/09/09(日) 14:17:33.96ID:xWgdA58m はい
891デフォルトの名無しさん
2018/09/09(日) 14:18:16.63ID:UPePJlkV ここになんjに助けを求めたガイジはいませんかー?🙋
負け犬は何処かな🤔
負け犬は何処かな🤔
892デフォルトの名無しさん
2018/09/09(日) 14:18:35.22ID:mhobrALw くこけ?
893デフォルトの名無しさん
2018/09/09(日) 14:19:05.04ID:SFaJ2QTJ なんJにスレ立ててまでするチンパンジーが見れると聞いて来ました
894デフォルトの名無しさん
2018/09/09(日) 14:20:44.64ID:UPePJlkV 恥ずかしがらずに出てこいよ😘
ガイジくん😁
それとも顔真っ赤で出てこれないかな?🤔
ガイジくん😁
それとも顔真っ赤で出てこれないかな?🤔
895デフォルトの名無しさん
2018/09/09(日) 14:24:20.57ID:iiqq7TK9 >>894
負け犬はお前定期
負け犬はお前定期
896デフォルトの名無しさん
2018/09/09(日) 14:26:08.47ID:UPePJlkV897デフォルトの名無しさん
2018/09/09(日) 14:26:42.15ID:7fkrmWDW >>895
スレ立てガイジ本人いて草
スレ立てガイジ本人いて草
898デフォルトの名無しさん
2018/09/09(日) 15:05:27.62ID:iMK3cxKN 図星か
899デフォルトの名無しさん
2018/09/09(日) 15:07:21.91ID:xWgdA58m >>895
大丈夫か?
大丈夫か?
900デフォルトの名無しさん
2018/09/09(日) 15:57:06.11ID:yaYW83OX 意味わからないんだがw
ハンJでしょうもないプログラミングの質問した人がいたってことか?
ハンJでしょうもないプログラミングの質問した人がいたってことか?
901デフォルトの名無しさん
2018/09/09(日) 15:58:03.09ID:yaYW83OX ハンJじゃないなんJ
902デフォルトの名無しさん
2018/09/09(日) 16:03:08.91ID:SFaJ2QTJ また日本語怪しいじゃん君なんJでもまともに喋れなかったよね?
903デフォルトの名無しさん
2018/09/09(日) 16:07:58.48ID:yaYW83OX904デフォルトの名無しさん
2018/09/09(日) 16:20:59.20ID:yaYW83OX905デフォルトの名無しさん
2018/09/09(日) 17:03:05.57ID:na1duSUN906デフォルトの名無しさん
2018/09/09(日) 17:12:29.21ID:3HCWUffr907デフォルトの名無しさん
2018/09/09(日) 17:20:33.91ID:yaYW83OX あ、これ俺に成りすまして他板でクソスレ立てて人をこっちに呼び込んでんのね
今理解したわ
このスレの住人なら>>870-871程度のことで他の板にスレ立てるわけないってわかってもらえると思うけど
荒れると嫌なんでしばらくROMりますわ
今理解したわ
このスレの住人なら>>870-871程度のことで他の板にスレ立てるわけないってわかってもらえると思うけど
荒れると嫌なんでしばらくROMりますわ
908デフォルトの名無しさん
2018/09/09(日) 17:27:07.85ID:3HCWUffr909デフォルトの名無しさん
2018/09/09(日) 17:44:29.85ID:C8FWMbW9 単発ばっかだし質問を小馬鹿にされた質問者が自演で荒らしてんだろ
いちいち反応すんなkz
いちいち反応すんなkz
910デフォルトの名無しさん
2018/09/10(月) 21:43:55.78ID:YbX1NAV1911デフォルトの名無しさん
2018/09/11(火) 11:59:19.26ID:bqaIVrpu a-zからなる単語のペアが与えられるのでそれぞれの元を辞書順にソートした上で同値類を求めなさい
なお同一のペアが2度以上入力されることはなく、また出力時の各行は順不同とする
例
-*- input -*-
goose pigeon
cat dog
eel goldfish
goose duck
horse dog
cod eel
dove pigeon
dog rhino
goldfish squid
goose lark
-*- output -*-
dove duck goose lark pigeon
cat dog horse rhino
cod eel goldfish squid
なお同一のペアが2度以上入力されることはなく、また出力時の各行は順不同とする
例
-*- input -*-
goose pigeon
cat dog
eel goldfish
goose duck
horse dog
cod eel
dove pigeon
dog rhino
goldfish squid
goose lark
-*- output -*-
dove duck goose lark pigeon
cat dog horse rhino
cod eel goldfish squid
912デフォルトの名無しさん
2018/09/11(火) 15:17:49.53ID:RXZvWAlK >>911
同値類とは?
同値類とは?
913デフォルトの名無しさん
2018/09/11(火) 17:41:21.76ID:bqaIVrpu >>912
入力のペア"A B"は A = B を表しているものとして等しいもの同士をグループにまとめて出力してねという問題
正確には「同値類に分割せよ」か「商集合を出力せよ」と言うべきだったか
例えば S = {A, B, C, D, E, F, G} に対して
A = B, C = A, D = F, E = G ……(☆) が成り立っているとすると
S の全ての要素は A = B = C と D = F と E = G っていう同じもの同士に分類できるよね
で (☆) の下で A の S における同値類とは {A, B, C} のことであり、
(☆) の下での S の商集合とは {{A, B, C}, {D, F}, {E, G}} のことを言うよ
問題を解く上で数学的な要素は無いから数学の言葉を使わないで出題すべきだった
入力のペア"A B"は A = B を表しているものとして等しいもの同士をグループにまとめて出力してねという問題
正確には「同値類に分割せよ」か「商集合を出力せよ」と言うべきだったか
例えば S = {A, B, C, D, E, F, G} に対して
A = B, C = A, D = F, E = G ……(☆) が成り立っているとすると
S の全ての要素は A = B = C と D = F と E = G っていう同じもの同士に分類できるよね
で (☆) の下で A の S における同値類とは {A, B, C} のことであり、
(☆) の下での S の商集合とは {{A, B, C}, {D, F}, {E, G}} のことを言うよ
問題を解く上で数学的な要素は無いから数学の言葉を使わないで出題すべきだった
914デフォルトの名無しさん
2018/09/11(火) 18:43:20.13ID:UwY6cfla >>911 Squeak Smalltalk
| input groups |
input := 'goose pigeon
cat dog
eel goldfish
goose duck
horse dog
cod eel
dove pigeon
dog rhino
goldfish squid
goose lark'.
groups := OrderedCollection new.
input linesDo: [:line |
| pair |
pair := line subStrings.
(groups detect: [:group | group includesAnyOf: pair] ifNone: [groups add: Set new])
addAll: pair
].
(groups collect: [:each | each asSortedCollection joinSeparatedBy: ' ']) asStringWithCr
"=> 'dove duck goose lark pigeon
cat dog horse rhino
cod eel goldfish squid' "
| input groups |
input := 'goose pigeon
cat dog
eel goldfish
goose duck
horse dog
cod eel
dove pigeon
dog rhino
goldfish squid
goose lark'.
groups := OrderedCollection new.
input linesDo: [:line |
| pair |
pair := line subStrings.
(groups detect: [:group | group includesAnyOf: pair] ifNone: [groups add: Set new])
addAll: pair
].
(groups collect: [:each | each asSortedCollection joinSeparatedBy: ' ']) asStringWithCr
"=> 'dove duck goose lark pigeon
cat dog horse rhino
cod eel goldfish squid' "
915デフォルトの名無しさん
2018/09/11(火) 18:58:42.97ID:RXZvWAlK916デフォルトの名無しさん
2018/09/11(火) 19:06:31.95ID:RXZvWAlK >>914
え?それでいいの?ペアになってるなつが同じ種類ってこと?
え?それでいいの?ペアになってるなつが同じ種類ってこと?
917デフォルトの名無しさん
2018/09/11(火) 19:55:35.45ID:zuM/oofP >>915-916
>入力のペア"A B"は A = B を表している
>入力のペア"A B"は A = B を表している
918デフォルトの名無しさん
2018/09/11(火) 21:04:39.05ID:RXZvWAlK なるほど。また最初の問題が不備で無限の回答が出るか一つも回答が出ないパターンだったと。
919デフォルトの名無しさん
2018/09/11(火) 21:40:27.09ID:zuM/oofP 見た感じ問題に不備はない
まだ何か勘違いしてるのでは
まだ何か勘違いしてるのでは
920デフォルトの名無しさん
2018/09/11(火) 22:23:42.34ID:O7hfz4dz >>911 Squeak Smalltalk (>>914 は入力順等によっては機能しないので差し替え)
| fn input |
fn := [:str |
| groups |
groups := OrderedCollection new.
str linesDo: [:line |
| pair found |
pair := line subStrings asSet.
found := (groups select: [:group | group includesAnyOf: pair])
ifEmpty: [{groups add: Set new}].
groups removeAll: found; add: (found inject: pair into: #,)
].
(groups collect: [:group | group asSortedCollection joinSeparatedBy: ' ']) asStringWithCr
].
input := 'goose pigeon
以下略'.
fn value: input.
"=> 'cat dog horse rhino
cod eel goldfish squid
dove duck goose lark pigeon' "
fn value: input, String cr, 'squid lark'.
"=> 'cat dog horse rhino
cod dove duck eel goldfish goose lark pigeon squid' "
| fn input |
fn := [:str |
| groups |
groups := OrderedCollection new.
str linesDo: [:line |
| pair found |
pair := line subStrings asSet.
found := (groups select: [:group | group includesAnyOf: pair])
ifEmpty: [{groups add: Set new}].
groups removeAll: found; add: (found inject: pair into: #,)
].
(groups collect: [:group | group asSortedCollection joinSeparatedBy: ' ']) asStringWithCr
].
input := 'goose pigeon
以下略'.
fn value: input.
"=> 'cat dog horse rhino
cod eel goldfish squid
dove duck goose lark pigeon' "
fn value: input, String cr, 'squid lark'.
"=> 'cat dog horse rhino
cod dove duck eel goldfish goose lark pigeon squid' "
921デフォルトの名無しさん
2018/09/11(火) 22:32:02.08ID:srQbLx59922デフォルトの名無しさん
2018/09/11(火) 22:42:05.94ID:6IJHkLyh cat dog horse rhinoとかってアルファベット順に出力するよう要請してるのだから少なくともそのフレーズに間違いはないよ
923デフォルトの名無しさん
2018/09/12(水) 08:18:25.07ID:FM7FP8m6 >>911 「cat cat」とか重複するペアとか任意のペアが来てもオッケーなバージョン
def qs(er)
h = Hash.new Float::INFINITY
erc = 0
er.each do |r|
min = r.map{|e| h[e]}.min
ern = min == Float::INFINITY ? erc += 1 : min
r.each{|e| h[e] = ern}
end
h.group_by(&:last).values.map{|s| s.map(&:first).sort}
end
er = $<.readlines.map &:split
puts qs(er).map{|a| a * ' '} * $/
#=>
dove duck goose lark pigeon
cat dog horse rhino
cod eel goldfish squid
def qs(er)
h = Hash.new Float::INFINITY
erc = 0
er.each do |r|
min = r.map{|e| h[e]}.min
ern = min == Float::INFINITY ? erc += 1 : min
r.each{|e| h[e] = ern}
end
h.group_by(&:last).values.map{|s| s.map(&:first).sort}
end
er = $<.readlines.map &:split
puts qs(er).map{|a| a * ' '} * $/
#=>
dove duck goose lark pigeon
cat dog horse rhino
cod eel goldfish squid
924デフォルトの名無しさん
2018/09/12(水) 10:35:33.91ID:0dikQX95 >>923
その実装だと仮に squid lark のペアが末尾に追加されたとき
すでにある goldfish squid がキャンセルされちゃうけど?
https://ideone.com/sbA9P5
その実装だと仮に squid lark のペアが末尾に追加されたとき
すでにある goldfish squid がキャンセルされちゃうけど?
https://ideone.com/sbA9P5
925デフォルトの名無しさん
2018/09/12(水) 11:17:32.60ID:FM7FP8m6926デフォルトの名無しさん
2018/09/13(木) 02:06:53.72ID:Pm51LGwI927デフォルトの名無しさん
2018/09/13(木) 08:17:03.84ID:EC7Fu/Zv928デフォルトの名無しさん
2018/09/13(木) 10:08:33.08ID:HHLUVU7a >>911の例をマージが必要になる順とかにしといてくれてれば…
929デフォルトの名無しさん
2018/09/13(木) 10:14:48.87ID:q0HzNtar >>911 perl
%h;
while(<>){
chomp;
($f, $s) = split/ /;#first, second
undef $keyf;
undef $keys;
for $k (keys %h){
$keyf = $k if grep /$f/, @{$h{$k}};
$keys = $k if grep /$s/, @{$h{$k}};
}
if(!defined $keyf and !defined $keys){
push @{$h{$.}}, $f;
push @{$h{$.}}, $s;
}else{
push @{$h{$keys}}, $f unless defined $keyf;
push @{$h{$keyf}}, $s unless defined $keys;
}
}
map{print join " ", (sort{$a cmp $b}@{$h{$_}}), "\n"}keys %h;
%h;
while(<>){
chomp;
($f, $s) = split/ /;#first, second
undef $keyf;
undef $keys;
for $k (keys %h){
$keyf = $k if grep /$f/, @{$h{$k}};
$keys = $k if grep /$s/, @{$h{$k}};
}
if(!defined $keyf and !defined $keys){
push @{$h{$.}}, $f;
push @{$h{$.}}, $s;
}else{
push @{$h{$keys}}, $f unless defined $keyf;
push @{$h{$keyf}}, $s unless defined $keys;
}
}
map{print join " ", (sort{$a cmp $b}@{$h{$_}}), "\n"}keys %h;
930デフォルトの名無しさん
2018/09/13(木) 11:37:05.45ID:HHLUVU7a931デフォルトの名無しさん
2018/09/13(木) 12:31:55.31ID:cU5S5NHG >>927
両方が既に入ってるなら何もする必要ないと思うのだが。
両方が既に入ってるなら何もする必要ないと思うのだが。
932デフォルトの名無しさん
2018/09/13(木) 13:14:56.32ID:EC7Fu/Zv >>931
https://paiza.io/projects/YTmp_QaHw0hpHqxX4cBGKw
入力
A B
C D
A C
出力
A B C
C D
期待される出力
A B C D
じゃろ?
https://paiza.io/projects/YTmp_QaHw0hpHqxX4cBGKw
入力
A B
C D
A C
出力
A B C
C D
期待される出力
A B C D
じゃろ?
933デフォルトの名無しさん
2018/09/13(木) 14:17:54.21ID:q0HzNtar >>911 >>932
%h;
while(<>){
chomp;
($f, $s) = split / /;#first, second
undef $keyf;
undef $keys;
for $k (keys %h){
$keyf = $k if grep /$f/, @{$h{$k}};
$keys = $k if grep /$s/, @{$h{$k}};
}
if(!defined $keyf and !defined $keys){
push @{$h{$.}}, $f;
push @{$h{$.}}, $s;
}elsif( (defined $keyf and defined $keys) and !($f eq $s) ){#merge
push @{$h{$keys}}, @{$h{$keyf}};
delete $h{$keyf};
}else{
push @{$h{$keys}}, $f unless defined $keyf;
push @{$h{$keyf}}, $s unless defined $keys;
}
}
map{print join " ", (sort{$a cmp $b} @{$h{$_}}), "\n"} sort{$a <=> $b} keys %h;
%h;
while(<>){
chomp;
($f, $s) = split / /;#first, second
undef $keyf;
undef $keys;
for $k (keys %h){
$keyf = $k if grep /$f/, @{$h{$k}};
$keys = $k if grep /$s/, @{$h{$k}};
}
if(!defined $keyf and !defined $keys){
push @{$h{$.}}, $f;
push @{$h{$.}}, $s;
}elsif( (defined $keyf and defined $keys) and !($f eq $s) ){#merge
push @{$h{$keys}}, @{$h{$keyf}};
delete $h{$keyf};
}else{
push @{$h{$keys}}, $f unless defined $keyf;
push @{$h{$keyf}}, $s unless defined $keys;
}
}
map{print join " ", (sort{$a cmp $b} @{$h{$_}}), "\n"} sort{$a <=> $b} keys %h;
934デフォルトの名無しさん
2018/09/13(木) 20:39:52.56ID:0RheZyur936デフォルトの名無しさん
2018/09/14(金) 04:53:58.08ID:Z6RVr7Qr >>935
差し支えなければ修正前のコードも別URLで再掲載してもらえますか?
あるいは公開バージョンの履歴や差分を参照する機能がpaoza.ioにあったら教えてください
くしくもマージを考慮「しない版」と「する版」が出揃ったのでどういう修正で対処したか調べると
それぞれの言語の(あるいはアルゴリズムの)特徴が際立って面白いのではないかなぁとふと思ったので
差し支えなければ修正前のコードも別URLで再掲載してもらえますか?
あるいは公開バージョンの履歴や差分を参照する機能がpaoza.ioにあったら教えてください
くしくもマージを考慮「しない版」と「する版」が出揃ったのでどういう修正で対処したか調べると
それぞれの言語の(あるいはアルゴリズムの)特徴が際立って面白いのではないかなぁとふと思ったので
937デフォルトの名無しさん
2018/09/14(金) 08:32:54.25ID:SYmkUqRw938デフォルトの名無しさん
2018/09/14(金) 09:31:32.78ID:PJYnZf+K >>937
あーいやそこまでしなくても結構です。ありがとうございます!
あーいやそこまでしなくても結構です。ありがとうございます!
939デフォルトの名無しさん
2018/09/14(金) 12:57:38.55ID:q6Zv3uN7 わざわざ書こうとしてくれるなんて良いやつだな
940デフォルトの名無しさん
2018/09/14(金) 18:45:13.33ID:9KWktx64941デフォルトの名無しさん
2018/09/14(金) 20:03:21.13ID:Z6RVr7Qr >>940
おおありがとう!
おおありがとう!
942デフォルトの名無しさん
2018/09/14(金) 20:39:39.94ID:cNoNQyuv >>940
おお。ナイス。
おお。ナイス。
943デフォルトの名無しさん
2018/09/14(金) 20:50:46.38ID:SK0cQL9c 結構みんな人の書いたコード読んでるんだな
いい意味でびっくり
いい意味でびっくり
944デフォルトの名無しさん
2018/09/14(金) 23:34:38.18ID:vS2kVSOd 逆になんで読まないの?
945デフォルトの名無しさん
2018/09/15(土) 00:06:11.66ID:/ZWEPMk/946デフォルトの名無しさん
2018/09/15(土) 08:52:18.54ID:/ZWEPMk/947デフォルトの名無しさん
2018/09/15(土) 18:55:39.79ID:Q0ygbCVz948デフォルトの名無しさん
2018/09/15(土) 19:09:51.94ID:1YQGrLsT >>947
ソート忘れてんよ
ソート忘れてんよ
949デフォルトの名無しさん
2018/09/16(日) 00:15:22.99ID:+Pq0rgCm >>948
付けといて。
付けといて。
950デフォルトの名無しさん
2018/09/16(日) 08:13:10.07ID:qJ8HI8bW951デフォルトの名無しさん
2018/09/18(火) 20:26:30.74ID:iTEamDZZ https://www.rco.recruit.co.jp/career/engineer/entry/
↑
この問題どうですか?
自分でも書いてみたのですが合ってるかちょっと分かりません
C# https://ideone.com/KNpwLL
↑
この問題どうですか?
自分でも書いてみたのですが合ってるかちょっと分かりません
C# https://ideone.com/KNpwLL
952デフォルトの名無しさん
2018/09/18(火) 20:38:45.88ID:qJ7HW+J2 こういうのって答え公開してもいいんか?
953デフォルトの名無しさん
2018/09/18(火) 20:48:39.65ID:sp2kbyYS 企業がやってるのって大体駄目だったと思うで
954デフォルトの名無しさん
2018/09/18(火) 20:49:39.59ID:Iw2LHuqq >>952
あくまでも過去の出題例、だからいいんじゃないですか?
あくまでも過去の出題例、だからいいんじゃないですか?
955デフォルトの名無しさん
2018/09/19(水) 00:29:21.73ID:gYIP5Vsu アウトかセーフか分からないときは答え公開しないほうが無難
956デフォルトの名無しさん
2018/09/19(水) 01:18:48.14ID:pHq1DkBS957デフォルトの名無しさん
2018/09/19(水) 19:43:34.67ID:KaiQ4rsk お題:コンプリートパネル(出展:高校生クイズ2018)
5×5のパネルが与えられる。各パネルは赤色か白色である。
各パネルに侵入すると、そのパネルの色が赤なら白、白なら赤に変化する。
最初のステップは、場外(左下のパネルの左隣)から左下のパネルへ侵入することである。
以降のステップでは、上下左右に移動することができる。
ただし、ひとつ前のパネルや場外に移動することはできない。
すべてのパネルを白色にするための移動経路を構成せよ。
WWWRR
WWWWR
WWWWR
WWWRR
RRRRW
=> 10 RRRRURUUUL (→→→→↑→↑↑↑←)
WWWWW
WWWWW
WWWWW
WWWWW
WWWWW
=> 0 (移動の必要なし)
WWWWW
WWWWW
WWWWW
WRWWW
WWWWW
=> 21 RRRRULULLDDRULURRDRDL (必ずしも最短経路である必要はない)
5×5のパネルが与えられる。各パネルは赤色か白色である。
各パネルに侵入すると、そのパネルの色が赤なら白、白なら赤に変化する。
最初のステップは、場外(左下のパネルの左隣)から左下のパネルへ侵入することである。
以降のステップでは、上下左右に移動することができる。
ただし、ひとつ前のパネルや場外に移動することはできない。
すべてのパネルを白色にするための移動経路を構成せよ。
WWWRR
WWWWR
WWWWR
WWWRR
RRRRW
=> 10 RRRRURUUUL (→→→→↑→↑↑↑←)
WWWWW
WWWWW
WWWWW
WWWWW
WWWWW
=> 0 (移動の必要なし)
WWWWW
WWWWW
WWWWW
WRWWW
WWWWW
=> 21 RRRRULULLDDRULURRDRDL (必ずしも最短経路である必要はない)
958デフォルトの名無しさん
2018/09/19(水) 19:51:24.03ID:WMjcSrAA >ひとつ前のパネルや場外に移動することはできない
全部踏めばいいんだからライツアウトの解法の亜種で解けるんじゃねえの
全部踏めばいいんだからライツアウトの解法の亜種で解けるんじゃねえの
959デフォルトの名無しさん
2018/09/19(水) 19:59:02.78ID:ZUIw2oHI 状態を変えずに任意の場所まで移動できるなら
6箇所だけそれぞれ1つだけRだった場合を計算してあとは回転なりなんなりして重ね合わせればいけるな
6箇所だけそれぞれ1つだけRだった場合を計算してあとは回転なりなんなりして重ね合わせればいけるな
960デフォルトの名無しさん
2018/09/19(水) 20:34:03.00ID:WMjcSrAA ↑
□□□
□□□→
2*3の全パターンで、この二つの方向のどちらかに抜ける経路が存在すればいい
あとは合成で何とかなる
□□□
□□□→
2*3の全パターンで、この二つの方向のどちらかに抜ける経路が存在すればいい
あとは合成で何とかなる
961デフォルトの名無しさん
2018/09/19(水) 21:11:11.50ID:zcXFtBV7 うーん。これはブルートフォースでやろうとするとかなり無駄が多くなって時間とメモリを山盛りに食いそうな予感。
962デフォルトの名無しさん
2018/09/19(水) 23:00:29.71ID:gYIP5Vsu 5x5=25マスの赤or白の2値だから25bit、現在位置25通り(5bit)に前回位置相対で4通り(2bit)、あわせて32bitパターン?
963デフォルトの名無しさん
2018/09/19(水) 23:25:52.07ID:WMjcSrAA 5x5は序の口で、100x100くらいが本命でしょう
ついでに最短の最適解も
問題も作るだけならラクだから1000x1000だって0.1秒程度で作れる
もちろん解くのは面倒
ついでに最短の最適解も
問題も作るだけならラクだから1000x1000だって0.1秒程度で作れる
もちろん解くのは面倒
964デフォルトの名無しさん
2018/09/20(木) 01:27:25.92ID:B4lxWLis965デフォルトの名無しさん
2018/09/20(木) 09:43:56.68ID:cMPVhU9i プログラム考える以前に解くためのいいアルゴリズムが思い浮かばん
966デフォルトの名無しさん
2018/09/20(木) 12:37:05.73ID:B1/3j8uv 辺の長さが3以上の時は戻るの禁止ってルールは実質的に無視できそうだな
というのも閉路を2周すれば元通りに戻るわけだから
xxx
x↓x
x↑x
上に行ってまた下に戻るって進みたいときは
→↓x
↑←x // 中央「←」を3回目に踏むときは下に進む
x↑x
ってすればいいわけで
2*2 かどちらかの辺が 1 の場合以外は任意のパターンで解があることになる
というのも閉路を2周すれば元通りに戻るわけだから
xxx
x↓x
x↑x
上に行ってまた下に戻るって進みたいときは
→↓x
↑←x // 中央「←」を3回目に踏むときは下に進む
x↑x
ってすればいいわけで
2*2 かどちらかの辺が 1 の場合以外は任意のパターンで解があることになる
967デフォルトの名無しさん
2018/09/20(木) 23:43:04.82ID:uzQ90Fqy RWWWR
WRWWW
RWRWW
RWWRW
WRRWR
全てのパターンが解けて最長がこの形で44手かかる
となったけどできたばかりだからまだまだバグがありそう
WRWWW
RWRWW
RWWRW
WRRWR
全てのパターンが解けて最長がこの形で44手かかる
となったけどできたばかりだからまだまだバグがありそう
968デフォルトの名無しさん
2018/09/21(金) 23:11:26.91ID:1M+bqJR8 https://ideone.com/S7UA0k
表示までできるようになったので
ここでは5秒超えるので結果表示されないみたい
10年前のノートで2分半かかる
結果はこんな感じ
- - - - -
- - - - -
- - - - -
- x - - -
- - - - -
RRRRULDRULLDL 13
x - - - x
- x - - -
x - x - -
x - - x -
- x x - x
RRRRRUUUULLLLDDDDRRRURUULDLDDLUURDLURRUULLDL 44
表示までできるようになったので
ここでは5秒超えるので結果表示されないみたい
10年前のノートで2分半かかる
結果はこんな感じ
- - - - -
- - - - -
- - - - -
- x - - -
- - - - -
RRRRULDRULLDL 13
x - - - x
- x - - -
x - x - -
x - - x -
- x x - x
RRRRRUUUULLLLDDDDRRRURUULDLDDLUURDLURRUULLDL 44
969957
2018/09/22(土) 13:39:38.33ID:EQZKU8B1970デフォルトの名無しさん
2018/09/23(日) 05:22:08.89ID:QL0eQEru971デフォルトの名無しさん
2018/09/23(日) 06:45:48.27ID:QL0eQEru972デフォルトの名無しさん
2018/09/23(日) 07:02:07.82ID:QL0eQEru973デフォルトの名無しさん
2018/09/23(日) 10:53:27.77ID:daMeAE67 ttps://cdn-ak.f.st-hatena.com/images/fotolife/m/motcho/20180127/20180127034515.png
連続殺人犯が全ての目撃者を消して完全犯罪を目論む
連続殺人犯が全ての目撃者を消して完全犯罪を目論む
974デフォルトの名無しさん
2018/09/23(日) 12:36:34.31ID:FE85zabB 文字列のペアがn対与えられる。
s(1),t(1)
...
s(n),t(n)
この時、ペアを適切な数選び適切な順番で並べる事で
s(a1)s(a2)...s(ak) = t(a1)t(a2)...t(ak)
とできるかどうか判定せよ
(ペアを重複して選ぶのもOK)
s(1),t(1)
...
s(n),t(n)
この時、ペアを適切な数選び適切な順番で並べる事で
s(a1)s(a2)...s(ak) = t(a1)t(a2)...t(ak)
とできるかどうか判定せよ
(ペアを重複して選ぶのもOK)
975デフォルトの名無しさん
2018/09/23(日) 12:41:57.26ID:A0stA7Ax >>974
それって「s(i)=t(i)となるiが1つ以上存在するか」というだけのように思えるけど、違うかな?
それって「s(i)=t(i)となるiが1つ以上存在するか」というだけのように思えるけど、違うかな?
976デフォルトの名無しさん
2018/09/23(日) 12:42:44.79ID:A0stA7Ax >>975は勘違いでした。取り消します
977デフォルトの名無しさん
2018/09/23(日) 13:27:09.60ID:yBlaBAG2978デフォルトの名無しさん
2018/09/23(日) 17:12:26.93ID:daMeAE67 応用だけは思い付いた
ATCGTTGTAC, AAATTTCTCTCTTTCT
GTGATGCGTTGCAGGT, ATGCCATGTGAC
AAATTGCTGAC, ATGTTGCGTC
ATGCGTACCCACG, AGTGCGTTCGTAC
...(以下、1万行続く)
ATCGTTGTAC, AAATTTCTCTCTTTCT
GTGATGCGTTGCAGGT, ATGCCATGTGAC
AAATTGCTGAC, ATGTTGCGTC
ATGCGTACCCACG, AGTGCGTTCGTAC
...(以下、1万行続く)
979デフォルトの名無しさん
2018/09/24(月) 12:45:56.45ID:ZWCrk0/p >>974
空文字列は含むの?
空文字列は含むの?
980デフォルトの名無しさん
2018/09/24(月) 14:31:45.91ID:twjLvrgB 重複しても良いってなっているのでどうやっていいか分からなくなった。
重複なしなら単に順列の問題で全パターン調べれば良いだけなんだけどな。
重複なしなら単に順列の問題で全パターン調べれば良いだけなんだけどな。
981デフォルトの名無しさん
2018/09/24(月) 14:56:44.30ID:hAv+WLv3 >>979
含むと何も並べなければOKって事になりそう
含むと何も並べなければOKって事になりそう
982デフォルトの名無しさん
2018/09/24(月) 15:56:26.13ID:IwP3sRIS983デフォルトの名無しさん
2018/09/24(月) 16:14:35.67ID:twjLvrgB984デフォルトの名無しさん
2018/09/24(月) 19:57:46.70ID:6VO2RDhD >>969
ルール合ってるのかどうか知らないけど
ゲーム風にしてみた (Win専用)
http://fast-uploader.com/file/7093342064119/
PASS:11957
慣れると何となく解き方のコツが見えてくる
今まで解けなかった例は無さげ
ルール合ってるのかどうか知らないけど
ゲーム風にしてみた (Win専用)
http://fast-uploader.com/file/7093342064119/
PASS:11957
慣れると何となく解き方のコツが見えてくる
今まで解けなかった例は無さげ
985デフォルトの名無しさん
2018/09/24(月) 20:25:58.77ID:8mxLASGw 任意のパターンで解けることはここですでに言及されてるよ
986デフォルトの名無しさん
2018/09/25(火) 00:18:48.94ID:sMuinsuC エビングハウスの忘却曲線っていって人間のベストな復習間隔があるんだけど
例えば今日勉強したことは明日復習して3日後、1週間一ヶ月ごとに復習すると完全に長期記憶になる
これをスマホアプリで管理するプログラミングしたい
理屈は簡単、カレンダーに今日覚えたことを「○○の20-40ページ」とか記入して
明日になったら今日やる復習を表示してくれるシステム
プログラミングのプの字も知らんのだ
どの言語を使うとかもわからんmacとxcodeはある
どういう作り方すればいいかわからない教えてください個人用に使う
例えば今日勉強したことは明日復習して3日後、1週間一ヶ月ごとに復習すると完全に長期記憶になる
これをスマホアプリで管理するプログラミングしたい
理屈は簡単、カレンダーに今日覚えたことを「○○の20-40ページ」とか記入して
明日になったら今日やる復習を表示してくれるシステム
プログラミングのプの字も知らんのだ
どの言語を使うとかもわからんmacとxcodeはある
どういう作り方すればいいかわからない教えてください個人用に使う
987デフォルトの名無しさん
2018/09/25(火) 02:12:07.33ID:JXqOIinx ここはそういうスレではないよ
988デフォルトの名無しさん
2018/09/25(火) 02:40:25.79ID:VjhU4mZC >>986
このスレはそういう質問するスレではなく、誰かがお題を出して回答したい人がプログラミングして回答するスレだ。
そういう質問はまずは既存のソフトでそういうことが出来るのがないか以下のスレで聞いた方が良いと思う。
気軽に「こんなソフトありませんか?」Part.176
https://egg.5ch.net/test/read.cgi/software/1529929775/
それからどうしてもプログラムを自分で作ってみたいというのであれば何らかの言語を覚える必要があるが、
MacやiPhoneの場合は何が良いのか俺はよく知らない。この頃だと Swift なんだろうか? Swift は確か xcode
使って作れたと思うが、詳細は今の俺には分からん。MacOSやiOS関係のスレを探して聞いてくれ。
このスレはそういう質問するスレではなく、誰かがお題を出して回答したい人がプログラミングして回答するスレだ。
そういう質問はまずは既存のソフトでそういうことが出来るのがないか以下のスレで聞いた方が良いと思う。
気軽に「こんなソフトありませんか?」Part.176
https://egg.5ch.net/test/read.cgi/software/1529929775/
それからどうしてもプログラムを自分で作ってみたいというのであれば何らかの言語を覚える必要があるが、
MacやiPhoneの場合は何が良いのか俺はよく知らない。この頃だと Swift なんだろうか? Swift は確か xcode
使って作れたと思うが、詳細は今の俺には分からん。MacOSやiOS関係のスレを探して聞いてくれ。
989デフォルトの名無しさん
2018/09/27(木) 22:18:07.66ID:/SCmCNkm お前らってファイルそのものへの参照を禁止したうえでquineを自力で書ける?
990デフォルトの名無しさん
2018/09/27(木) 23:09:56.51ID:TEegUJED もう少し詳しく
991デフォルトの名無しさん
2018/09/28(金) 01:19:09.36ID:voc6Rn8M 次スレは
992デフォルトの名無しさん
2018/09/28(金) 10:09:57.20ID:phwOkayR993デフォルトの名無しさん
2018/09/28(金) 21:10:47.83ID:WW7qy9i/ 埋め
994デフォルトの名無しさん
2018/09/28(金) 21:28:45.12ID:CwsEryp/ うめ
995デフォルトの名無しさん
2018/09/28(金) 21:28:53.05ID:CwsEryp/ うめ
996デフォルトの名無しさん
2018/09/28(金) 21:29:01.92ID:CwsEryp/ う
997デフォルトの名無しさん
2018/09/28(金) 21:29:15.02ID:CwsEryp/ め
998デフォルトの名無しさん
2018/09/28(金) 21:29:28.35ID:CwsEryp/ あさうめ
999デフォルトの名無しさん
2018/09/28(金) 21:29:36.27ID:CwsEryp/ うめ
1000デフォルトの名無しさん
2018/09/28(金) 21:29:44.58ID:CwsEryp/ うめ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 157日 0時間 44分 30秒
新しいスレッドを立ててください。
life time: 157日 0時間 44分 30秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 『しんちゃんと岸田さん』 [175344491]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 【悲報】泉健太「質問した立憲民主党が悪いという主張は、高市政権が野党の忖度で成り立つ政権という汚名を自ら着るようなもの」 [519511584]
- 中国発日本行の航空券、491,000件(全体の32%)がキャンセルされたと判明。高市どうすんのこれ [603416639]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 【高市速報】小野田経済安保相「中国依存はリスクなおおおおおおおおおおお」 [127986362]
