dupchecked22222../cacpdo0/2chb/314/70/tech152457031421750299083 プログラミングのお題スレ Part11 YouTube動画>3本 ->画像>3枚 ◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

プログラミングのお題スレ Part11 YouTube動画>3本 ->画像>3枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1524570314/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん2018/04/24(火) 20:45:14.49ID:ZY7R7Sru
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part10
http://2chb.net/r/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/

宿題は宿題スレがあるのでそちらへ。

2デフォルトの名無しさん2018/04/24(火) 20:46:44.20ID:WimzHme9
>>1

3デフォルトの名無しさん2018/04/24(火) 21:01:59.85ID:b5LehDYo
>>1
おちゅ

4デフォルトの名無しさん2018/04/24(火) 21:57:24.56ID:+2ez/H34
出題に際しては
- お題の意図を汲みやすい入出力例も示す
- 事前に自分でもコードを書いてみる

5デフォルトの名無しさん2018/04/24(火) 22:12:31.82ID:b5LehDYo
このスレ久しぶりに来た
数学できない勢だけどよろすこ

6デフォルトの名無しさん2018/04/24(火) 22:50:49.03ID:26GTet/U
じゃあ過去ログから面白そうなお題探してきて

7デフォルトの名無しさん2018/04/24(火) 23:28:41.47ID:b5LehDYo
>>6
過去ログから持ってきた訳じゃないんだけど、こういうお題を考えた

平面座標aとbが入力されます。bから見てaがおおよそ何時の方角にあるか時刻で出力してください。
例えば座標の方角が2時と3時の中間だった場合は両方の時刻を同時に出力してください。
座標が重なった場合は0時と出力してください。方角の精度は時刻み、分刻みから選択自由とします。

でも何か既視感あるんだよな
過去ログに似たようなお題があったかもしれない

8デフォルトの名無しさん2018/04/25(水) 00:32:02.03ID:Q0aOI6dW
(逆)三角関数使わずにって制限つければまあまあ面白いかもしれない

9デフォルトの名無しさん2018/04/25(水) 01:02:21.48ID:Xk9Nens/
数学じゃん。
紙と鉛筆で解いて算出は電卓でやれ。
プログラムでやっても電卓でできる程度のことしかしないじゃん。

10デフォルトの名無しさん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 "

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" -> ?

12デフォルトの名無しさん2018/04/25(水) 08:12:36.77ID:YrZy/fuf
>>11
手計算でやっても答えが一致しないのだが、本当にそんな時間掛かるか?
C++ https://ideone.com/GK5A8F

13デフォルトの名無しさん2018/04/25(水) 08:15:25.48ID:YrZy/fuf
>>12
あ、ごめん私が間違えてた
計算し直してくる

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

15デフォルトの名無しさん2018/04/25(水) 09:00:27.95ID:s6Mh195j
>スレの宿題のを
「前スレの宿題の」と書こうとしてミスしました。
実際のとこ宿題なのかどうかは知らないけど。

16デフォルトの名無しさん2018/04/25(水) 09:14:36.14ID:s6Mh195j
>>14のをちょっとだけ訂正
(コードをcodeの方に書いただけ)
https://bit. ly/2HYN8WH

17デフォルトの名無しさん2018/04/25(水) 10:26:52.48ID:tAxnUvIH
>>11
テスト例の最初のやつはなぜ18になるのか?7+3+7=17ではないのか?

18デフォルトの名無しさん2018/04/25(水) 10:28:30.47ID:tAxnUvIH
あ、ごめん。寝ぼけてた。すまん。

19デフォルトの名無しさん2018/04/25(水) 10:29:50.42ID:8AWpTaB2
7 + (7 - 3) + 7 = 18
あってるよ

20デフォルトの名無しさん2018/04/25(水) 11:57:29.80ID:pPLIJyjZ
度々ごめん
直に書けないurlはこう貼ればいいとわかったので
(もしかして常識だったか)
https://%62it%2Ely/2Jplh1k

21デフォルトの名無しさん2018/04/25(水) 12:11:25.24ID:pPLIJyjZ
>>12
最後の b++ は b -- の打ち間違いか

22デフォルトの名無しさん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

23デフォルトの名無しさん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と同じだから、どうなるんだ?

24222018/04/25(水) 15:15:39.29ID:/CvNfD/i
>>11
理解できてなかったわ
"07362:450" の解がもうわからん

25222018/04/25(水) 15:29:44.32ID:/CvNfD/i
>>23
Bはa,bどちらも5点ならどちらを選んでも良い

各人は自分の順になったとき、
選択可能な各位置について「以降誰が何をしても最悪でも~点とれる」という点数を考え、
それが最大になる位置(のうちのどれか一つ)を選ぶ

(何をしても、といってももちろん皆が上記のルールは守るものとする)

ストレートなMin-Max戦略だなこれ

26デフォルトの名無しさん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時間

27222018/04/25(水) 15:37:00.23ID:pPLIJyjZ
>>26
ありがとう
問題は理解できていて頭が悪いだけでした

28232018/04/25(水) 18:07:14.08ID:eqJJBtIM
>>25
Bのa・b 戦略が、共に5点の同点で、その2つをA に戻すから、

Aは両方を比較しなければならないから、複雑だと思って

29デフォルトの名無しさん2018/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と違うな

30デフォルトの名無しさん2018/04/25(水) 20:04:18.92ID:8AWpTaB2
>>11って解無しのパターンってあるのかな?

31デフォルトの名無しさん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
無いんじゃね?

32292018/04/25(水) 21:13:14.97ID:/CvNfD/i
>>29はバグってた
直したら>>11と一致しました

https://ideone.com/ECmxkW

常に解がありそうだけど証明はどうやるんだろ

33デフォルトの名無しさん2018/04/25(水) 21:16:36.07ID:8AWpTaB2
ちょっと考えてみたけど至る所微分不可能な山ではない限り解は存在するね

34292018/04/25(水) 21:33:09.38ID:/CvNfD/i
適当に折り返すことによって山谷の数を合わせられる
あとは略、って感じか

35292018/04/25(水) 21:38:29.30ID:/CvNfD/i
数じゃなく高さを合わせるのか
眠くて頭が回らない

36デフォルトの名無しさん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!) である.

37デフォルトの名無しさん2018/04/28(土) 14:49:49.33ID:8V4fYuem
数学じゃん。まーたセンセか。
数学板で相手してもらえないのかな?

38デフォルトの名無しさん2018/04/28(土) 14:54:49.91ID:dXz/YQDX
つまんね

39デフォルトの名無しさん2018/04/28(土) 16:51:43.06ID:bUTNgJY5
N番目に大きな正の奇数を求めよ、みたいな

40デフォルトの名無しさん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]

41デフォルトの名無しさん2018/04/28(土) 17:36:46.27ID:PugBvw3H
>>40 Java
https://ideone.com/7ibDgO
しんぷる

42デフォルトの名無しさん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では_が負の符号)

43デフォルトの名無しさん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]

44デフォルトの名無しさん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 になるはず?

45デフォルトの名無しさん2018/04/28(土) 19:00:22.31ID:bUTNgJY5
>>44
おかしい。こんな短いものでバグ作るとは。

46デフォルトの名無しさん2018/04/28(土) 19:06:05.69ID:8V4fYuem
なんだJニキたいしたことなかったんだな。ガッカリだわ

47デフォルトの名無しさん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

48デフォルトの名無しさん2018/04/28(土) 19:07:19.36ID:bUTNgJY5
1か月くらいしかやってないから
ガタガタブルブル

49デフォルトの名無しさん2018/04/28(土) 19:11:02.35ID:PugBvw3H
入力に , 入れてたからおかしくなったのけw

50デフォルトの名無しさん2018/04/28(土) 19:16:25.16ID:bUTNgJY5
カンマはあっても良いんだけど _2 を -2 と書くと
,- なる演算子のコンビネータで世にも奇妙な動きになる

51デフォルトの名無しさん2018/04/28(土) 19:18:49.62ID:PugBvw3H
やっぱりJわからんww

52デフォルトの名無しさん2018/04/28(土) 19:20:47.82ID:e4v0vK3x
違った

1,2,3 => 1 2 3
1, -2, 3 => 1 _2 _3

マイナスがそれまで連結したそれより右、
上の例だと 2 3 全体に作用してた

53デフォルトの名無しさん2018/04/28(土) 20:02:26.64ID:amQJLuCm
>>40
ソートするだけやん...

C++
https://ideone.com/EX8gEd

54デフォルトの名無しさん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

55デフォルトの名無しさん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) "

56デフォルトの名無しさん2018/04/28(土) 21:55:04.43ID:efxIQEuI
>>40
# Rubyで。
def f040(a)
a.select(&:odd?) + a.select(&:even?)
end

57デフォルトの名無しさん2018/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

58デフォルトの名無しさん2018/04/28(土) 21:58:07.26ID:4vnB69wL
[[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]

59デフォルトの名無しさん2018/04/28(土) 22:24:14.64ID:kOoyKfN/
安定なソートである必要は無いのかな

60デフォルトの名無しさん2018/04/28(土) 22:45:12.30ID:amQJLuCm
>>59
やり方による
>>53みたいな奴だと安定ソートが必要

61デフォルトの名無しさん2018/04/29(日) 00:30:13.18ID:VMPsXvec
>>36って S = {(2m + 1)π / √((2nπ)^2 + 1)|(m, n)∈N^2}だから最小値存在しなくね?
複素数の複素数乗って多価関数だよね?

62デフォルトの名無しさん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

63デフォルトの名無しさん2018/04/29(日) 01:48:41.58ID:eN7o88HV


\ になってる文字は本来バックスラッシュ
Jはスマフォアプリがあるので暇で困っている人にはパズル的に遊ぶのにお勧め

64デフォルトの名無しさん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)π}はありえないよ

65デフォルトの名無しさん2018/04/29(日) 02:12:22.08ID:/ExMHkxk
>>40 Ocaml
https://ideone.com/tZmgi1
初めて扱った言語だから分かりやすさ優先
冗長だよなぁ

66デフォルトの名無しさん2018/04/29(日) 02:23:13.34ID:p2Z/45DS
>>62
>>61
>modulo =: |~
~ はタイプミス(不要)でしたごめんなさい寝ます

67デフォルトの名無しさん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]);

68デフォルトの名無しさん2018/04/29(日) 05:45:46.05ID:hIO/B/Lz

69デフォルトの名無しさん2018/04/29(日) 05:54:20.45ID:hIO/B/Lz
>>43
やってることほとんど同じだけど短くできるので改造してみました。
Perl
https://paiza.io/projects/hmeuU1NTBlSqUtbFr6Vn2Q

70デフォルトの名無しさん2018/04/29(日) 07:08:41.98ID:BEZTP3Wm
>>40 Common Lisp
https://ideone.com/7FvGqn

計測してみたらsortが一番遅かった
https://ideone.com/CzpnHR

71デフォルトの名無しさん2018/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

72デフォルトの名無しさん2018/04/29(日) 09:22:53.62ID:aHYSui5W
>>40 ocaml
https://ideone.com/Izv76M

is_oddはぐぐって見つけたのの丸パクリ

73デフォルトの名無しさん2018/04/29(日) 10:27:23.47ID:aHYSui5W
>>40 rust
https://ideone.com/epTHxQ

タプルにflattenとかできたらよかったのに…

74デフォルトの名無しさん2018/04/29(日) 16:09:08.42ID:hIO/B/Lz
>>40
Kotlin でも >>71 そっくりに書けることに気付いたので >>68 を fork して書き換えてみた。
https://paiza.io/projects/Ilw66tbpxElWvi1lSmKU3Q

75デフォルトの名無しさん2018/04/29(日) 20:33:37.53ID:My7UiDyw
[[[ []]]]*[[ [][] ][] } } {} [[[

76デフォルトの名無しさん2018/04/29(日) 20:42:22.87ID:/ExMHkxk
しっかし、良問なお題だな……

77デフォルトの名無しさん2018/04/29(日) 21:35:33.15ID:f+z04ZEq
お題: 文字列をソートしなさい。ただし、英字のみをソートし他はそのままにすること。
例:
 "213cba213cba213cba" -> "213aaa213bbb213ccc"

78デフォルトの名無しさん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"

79デフォルトの名無しさん2018/04/29(日) 22:33:55.68ID:aHYSui5W

80デフォルトの名無しさん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

81デフォルトの名無しさん2018/04/29(日) 22:53:34.50ID:yO7NcvMF
そんな空気読めないから学生に不人気なんだよ数学板帰れ

82デフォルトの名無しさん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' "

83デフォルトの名無しさん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

84デフォルトの名無しさん2018/04/29(日) 23:19:13.69ID:UI+loYQZ
>>83
@i = 0..$#s;
この行、要らなかった、消し忘れた…orz

85デフォルトの名無しさん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;
}

86デフォルトの名無しさん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" []

87デフォルトの名無しさん2018/04/30(月) 00:05:47.30ID:873ZFTYn
お題
西暦X年のプレミアムフライデーを列挙せよ

88デフォルトの名無しさん2018/04/30(月) 00:14:03.81ID:wP9Edy/s
それは概念的な方?それとも実際に仕事に影響する方?
後者ならプレミアムフライデー列挙は0文字でできるが

89デフォルトの名無しさん2018/04/30(月) 03:32:32.41ID:XX4FB8lc

90デフォルトの名無しさん2018/04/30(月) 03:49:27.01ID:XX4FB8lc
あれ?strdup() で警告出てるな。strdup() って標準ではないか。
まあでもCコンパイラのアバウトな処理によって動くバイナリは作られたようだがw
やりたいことは分かると思うのでそのままにしておく。

91デフォルトの名無しさん2018/04/30(月) 04:14:00.17ID:XX4FB8lc

92デフォルトの名無しさん2018/04/30(月) 07:20:36.76ID:aMecU4PQ

93デフォルトの名無しさん2018/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' "

94デフォルトの名無しさん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} "

95デフォルトの名無しさん2018/04/30(月) 11:06:46.51ID:51rF4oVe
>>77
>>86のアロー版
import Control.Arrow
import Data.Char
import Data.List
solve ([],_) = ([],[])
solve ((x:xs),~yss@(y:ys)) = if isAlpha x
then first (y:) $ second (x:) $ solve (xs,ys)
else first (x:) $ solve (xs,yss)
main = putStrLn $ loop (second sort . solve) "213cba213cba213cba"

96デフォルトの名無しさん2018/04/30(月) 13:22:57.51ID:9wPwzi/d
[[[ [ "[]" ]]] [] [][[[ [] ]][]

97デフォルトの名無しさん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"

98デフォルトの名無しさん2018/04/30(月) 19:55:09.82ID:AG7SQVmm

99デフォルトの名無しさん2018/04/30(月) 20:05:33.19ID:AG7SQVmm
>>98
書き込んでから気がついたけど、お題の5個の入力では問題を起こさないが
差ベクトルが短すぎる場合や外積の面積が細過ぎる場合の打ち切りは、
nextで一階層ブロック脱出ではなく更にもう一階層外側のloopに脱出すべきか…orz
ま、いいか、テヘペロ

100デフォルトの名無しさん2018/04/30(月) 20:32:21.58ID:3H79VXon
>>64
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) が違うことはわかってる?

102デフォルトの名無しさん2018/04/30(月) 21:50:54.13ID:vxN19J44
お題
大人数で一斉にじゃんけんを行った
各人の手のリストが与えられるのでその中で勝者が何人いるか答えよ
(g=グー,c=チョキ,p=パー)

gccgc -> 2
ggggggg -> 0
cppcppppccpppppc -> 5
cppcppppccpgpppc -> 0

103 ◆QZaw55cn4c 2018/04/30(月) 21:51:16.28ID:TVB5RPq5
>>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
ってどういう意味なの?

104デフォルトの名無しさん2018/04/30(月) 22:01:50.32ID:XN8sO4Rn

105デフォルトの名無しさん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 はそりゃ値が一致しないよ。前提が違うんだから

106 ◆QZaw55cn4c 2018/04/30(月) 22:51:37.38ID:TVB5RPq5
>>101
>>105

>>101
z = (2m + 1)π/(2nπ - i)
これを愚直に展開すると
z = (2m + 1)・2nπ/(4n^2・π^2 + 1) + j(2m + 1)(4n^2π^2 + 1))…①

一方
複素指数関数を e^z = Σz^n/n! と定義して
z = x + yj(x, y ∈ R) のとき、
|e^z| = |e^x|、かつ |e^yj| = 1
ここで e^z = -1 だから
|e^z| = |e^x| = 1, x ∈ R
x = 0
にしかならないけれども、①のzの実部はm, n によっていろいろ変わるのはおかしいね

107デフォルトの名無しさん2018/04/30(月) 22:55:46.76ID:i4YlDPUd
>>106
いやだから e^z(2.718281828...のz乗) と exp(z) は別物だって言ってんじゃん
わざと嫌がらせしてる?

108デフォルトの名無しさん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

109 ◆QZaw55cn4c 2018/04/30(月) 23:18:07.22ID:TVB5RPq5
>>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 しか取り得ないと思いますが…

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!)は全く別の値なんです

111デフォルトの名無しさん2018/04/30(月) 23:41:24.15ID:i4YlDPUd
ついでになんか勘違いしてるみたいだから指摘しておきますけど
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 じゃありません

113 ◆QZaw55cn4c 2018/04/30(月) 23:58:31.96ID:TVB5RPq5
>>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 と定義する…②

①⇔②であることを前提とすれば、

x ∈R において
exp(x)
= e^x(cos0 + j・sin0)(∵②)
= 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乗は別物です
あと何百回言えばこれを理解してもらえるんですかね
従って②の定義は「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 -> ?

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

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())))

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

121 ◆QZaw55cn4c 2018/05/01(火) 01:13:28.97ID:bK+upqA8
>>114
>一般に exp(z) と ネイピア数のz乗は別物です
それは心得ているつもりです。

以下、結構雑に書きますが、

exp(z)=Σz^n/n!…①
と定義する。
このときも①が収束すること、および
exp(z1 + z2) = exp(z1)exp(z2), z1, z2 ∈C…②
が成立することを暗黙の了解とする

z∈C, z = x + jy, x, y ∈R のとき
exp(z) = exp(x)exp(jy) …③(∵②)
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))…④

以上の議論は手元の教科書の引き写しです。

122 ◆QZaw55cn4c 2018/05/01(火) 01:14:36.19ID:bK+upqA8
>>121 続き
>従って②の定義は「exp(x + jy) = exp(x)・(cos(y) + j・sin(y))」としなければならないし
以上より exp(x + jy) = e^x・(cos(y) + j・sin(y)) …④で問題ありません。

だから、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
に書いてありました

123 ◆QZaw55cn4c 2018/05/01(火) 01:33:38.84ID:bK+upqA8
>>122 続き
今 exp(z) = -1, z ∈C

>>122 ④より
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…⑤

よって⑤の両辺の虚部が 0 だから

e^x・sin(y) = 0
e^x > 0 より sin(y) = 0
y = nπ…⑤(必要条件)
このとき
cos(y) = ±1

このとき⑤の両辺の実部を比較して
e^x(±1) = -1
e^x > 0 だから cos(y) = -1 となるのは⑤の中でも 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は多価関数なのでこれらが等しくないことは計算するまでもなく自明なんですが、
なんでここにこんなにつっかかってくるんですかね……

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

126 ◆QZaw55cn4c 2018/05/01(火) 02:00:54.53ID:bK+upqA8
>>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 …②
のみです

z = x + jy と置いたとき
exp(z1 + z2) = exp(z1)exp(z2), z1, z2 ∈C…②
が成り立つ前提で
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]
でよかった。
最初関数として作ってあったもので単純化し忘れ。

129デフォルトの名無しさん2018/05/01(火) 02:19:47.25ID:6vH9r7He
>>77 Perl5 >>83を書き込んだけど気に入らなかったので少し修正した。
@s = split '','213cba213cba213cba';
@k = grep{$s[$_] =~ /[a-z]/} 0..$#s;
@s[@k] = sort @s[@k];
print @s,"\n";

実行結果
$ perl 11_77_2.pl
213aaa213bbb213ccc

130デフォルトの名無しさん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!が収束するだけでは弱くて、
「絶対収束」(絶対に収束するという意味ではありません)を仮定する必要があると言っているんですけど
まあ枝葉末節なので不問とします

131 ◆QZaw55cn4c 2018/05/01(火) 02:26:11.46ID:bK+upqA8
>>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) は周期関数であることはわかるのですが、
これ以上のことはちょっとわかりません、今日はここまででお休みします
お付き合いくださりありがとうございました

132デフォルトの名無しさん2018/05/01(火) 02:37:06.62ID:D2CDUI2h
>>87
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

136デフォルトの名無しさん2018/05/01(火) 04:52:28.26ID:D2CDUI2h

137デフォルトの名無しさん2018/05/01(火) 05:19:23.17ID:D2CDUI2h

138デフォルトの名無しさん2018/05/01(火) 05:47:58.01ID:D2CDUI2h
>>117
Perl
正規表現のパターンを作ってループさせてみました。
https://paiza.io/projects/pcQMuxJqlGR75LNkXho93w

139デフォルトの名無しさん2018/05/01(火) 07:17:35.34ID:dg2b7E11
>>131
純粋に数学的関心ならもうプログラミング関係ないんだから、適切な板、スレを探してそっちで好きなだけやってこい

140デフォルトの名無しさん2018/05/01(火) 08:38:29.97ID:DfUAZvBS

141デフォルトの名無しさん2018/05/01(火) 09:28:24.04
数学やってる奴は頭悪いってことは分かった

142デフォルトの名無しさん2018/05/01(火) 09:42:49.56ID:k1G9EgK2
数学は別にいいんだが難しすぎるのはちょっとな
簡単なお題なら個人的に歓迎

143デフォルトの名無しさん2018/05/01(火) 10:53:36.69ID:DfUAZvBS

144デフォルトの名無しさん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 "

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 "

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 "

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

148デフォルトの名無しさん2018/05/01(火) 12:07:06.40ID:70o2W7dO
文字をATCGにして長さ1億くらいにすればプログラミングっぽくなるんじゃねえの

149デフォルトの名無しさん2018/05/01(火) 12:28:06.18ID:UGhOjMxe
【安全デマにブーメラン】 山口が自殺したら、次は城島、他のメンバーも酷い運命、食べて応援が応報に
http://2chb.net/r/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

151デフォルトの名無しさん2018/05/01(火) 13:50:08.69ID:NcJxSmfh
公式があるね。
周期=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

153デフォルトの名無しさん2018/05/01(火) 13:59:50.83ID:w7H89JvO
>>151
やっぱ公約数に帰結するんだ、
>>152書いてて繰り返し不要な解法がありそうだという気がしてきた
まいいや自分で考えることも面白いから

154デフォルトの名無しさん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 "

155デフォルトの名無しさん2018/05/01(火) 19:12:45.94ID:sD3/P01t
>>117 javascript
var f = s => {console.log((s.match(/o.*?d.*?a.*?i.*?/g)||[]).length)}
f('odaiodai') //=> 2
f('ooddaai') //=> 1
f('idao') //=> 0
f('ododoadioadioadioadioadioadiodaioadodioadiaodi') //=> 5
>>147と同じ

156デフォルトの名無しさん2018/05/01(火) 20:49:51.17ID:2ktnnBej

157デフォルトの名無しさん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
と荷物及びナップサックが与えられた時、最大の価値を求めよ
可能ならどれを詰めたかも求めよ
なお荷物は回転させて詰めても良いものとする

158デフォルトの名無しさん2018/05/01(火) 21:36:00.67ID:2ktnnBej

159デフォルトの名無しさん2018/05/01(火) 22:01:39.67ID:bRlEbj+U
ナップザックというか箱だなそれ (雑感)

160デフォルトの名無しさん2018/05/01(火) 22:40:45.68ID:7ekaWt6m
お題
政令指定都市名を受け取り, 隣接する区を異なる色になるように塗り分けるのに必要な最少の色数を返す.

f(Sagamihara) => 2
f(Yokohama) => 4

161デフォルトの名無しさん2018/05/01(火) 22:43:51.19
>>157は、巡回セールスマン問題に並んで有名なナップサック問題である。
なお、この手の問題をNP完全問題だとかNP困難問題だとか呼ぶのは
「ナップサック」(NaPpsuck)に由来する。

162片山博文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+g
>>164
じゃロシア語で埋めてくな。
文句ないんだろ。

167デフォルトの名無しさん2018/05/02(水) 00:16:51.78ID:WLxRJQ+g
Текущая версия страницы пока не проверялась опытными участниками и может
значительно отличаться от версии, проверенной 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 баллов).

169デフォルトの名無しさん2018/05/02(水) 00:19:06.57ID:WLxRJQ+g
Термин «ураган» имеет также более узкое значение — тропический циклон. По месту образования тропические циклоны делят на:

Субтропический шторм
Тропический шторм
Ураган (Атлантический океан)
Тайфун (Тихий океан)
Если скорость ветра в тропическом циклоне превышает 60 км/ч, ему присваивается собственное имя.

170デフォルトの名無しさん2018/05/02(水) 00:20:01.14ID:WLxRJQ+g
По мнению американских учёных, для областей, расположенных в
северных широтах, снежной бурей можно считать зимний сильный
ветер, во время которого скорость ветра достигает и превышает 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+g
>>191
了解。>>191の依頼に従い、続行する。

195デフォルトの名無しさん2018/05/02(水) 01:24:29.12ID:WLxRJQ+g
そのうちに、人の噂も七十五日トばかりに。
ほとぼりが覚めた頃を見計らって、定吉が江戸に帰ってくる。

帰ってくるト、猫を連れてまたぞろ博奕へ出掛けます。

その夜。
お滝は、間男の若い者を呼びつけ、相談をした。

定吉がいては、お互い落ち着いて逢瀬を楽しむこともままならない。
いっそ、ひと思いに殺してしまってほしい。

196デフォルトの名無しさん2018/05/02(水) 01:24:49.92ID:p96PUqzp
>>192
数学は少なくともスレのお題と関係があったがお前のクソみたいなコピペはスレと無関係のただの荒らしだろうが
どっちもウザイのは同じだが、一緒くたにすんなハゲ!

197デフォルトの名無しさん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 -> ?

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!

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!

209デフォルトの名無しさん2018/05/02(水) 10:26:22.57ID:PqZlWADT

210デフォルトの名無しさん2018/05/02(水) 11:55:19.15

211デフォルトの名無しさん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

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!

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

214 ◆QZaw55cn4c 2018/05/02(水) 17:33:20.51ID:R3g8E+PO
有効な(注:主観による)お題一覧
>>11
>>40
>>77
>>80
>>87
>>102

215 ◆QZaw55cn4c 2018/05/02(水) 17:33:54.32ID:R3g8E+PO

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

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

218デフォルトの名無しさん2018/05/02(水) 18:10:22.50ID:TAWRfgOr

219デフォルトの名無しさん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

222デフォルトの名無しさん2018/05/02(水) 19:04:01.98ID:intU8xfF
>>206
Perl
https://paiza.io/projects/3hW53qnnJ69_qwvN_oWiTA
改行入れないで変換しちゃったが、指定がないからまあいいか。

223デフォルトの名無しさん2018/05/02(水) 19:12:21.47ID:intU8xfF
>>211
それ、俺の直感ではsortすればいいだけなんじゃあ?
証明できんけど。

224デフォルトの名無しさん2018/05/02(水) 19:28:18.08ID:bfgs8qRD
>>223

>>211
… (ry
> {4,3,2,1,0}
> => 10.9371 //{0,1,3,4,2}
_________~ ~

225デフォルトの名無しさん2018/05/02(水) 19:30:41.81ID:intU8xfF
>>224
あー。ちょっと違うな。崖作らずに山作る感じか。
証明できんけどw

226デフォルトの名無しさん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

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

プログラムでやるなら、数列の前項後項の積和を最大化する方針がいいのかな

2282252018/05/02(水) 20:32:00.70ID:QUr6vWwN
面倒なので証明しないで全パターンの面積を求めて最大のやつを出すように作ろうかと思ったが、
腹が減ったので飯食ってから考えよう。(というかこうするならほとんど考える必要ないなこれw)

2292112018/05/02(水) 20:37:30.10ID:lkl981AK
問題思いついた後、ググって>>227見つけたので出題した次第です。
最小化については上手い方法があるんだろうか?

230デフォルトの名無しさん2018/05/02(水) 20:44:42.35ID:ja0hTifx
>>227
そのπってのが真ん中から左右に配置して行くインデックス列。
でその証明は不完全(*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) "

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

233デフォルトの名無しさん2018/05/03(木) 00:59:37.08ID:SwM9YWB0
>>206
Bash
https://ideone.com/ljYBHK

エラーには目を瞑ってください

234デフォルトの名無しさん2018/05/03(木) 01:32:09.14
>>233
無為に捨てられる何千もの’Hello, World!’がかわいそうすぎね?(´;ω;`)

235デフォルトの名無しさん2018/05/03(木) 01:32:43.19ID:rKkc5eBg
>>211 Perl5
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]]

237デフォルトの名無しさん2018/05/03(木) 10:12:06.60ID:6SfrUic2

238デフォルトの名無しさん2018/05/03(木) 10:13:33.58ID:ngB6qDho

239デフォルトの名無しさん2018/05/03(木) 10:19:06.64ID:m6mdbiEz
>>236
Ruby。
ary.combination(2).select{|x|x.inject(:+)==100}

240デフォルトの名無しさん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)} "

241デフォルトの名無しさん2018/05/03(木) 11:34:54.61

242デフォルトの名無しさん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にはインストールされてないようでした

243デフォルトの名無しさん2018/05/03(木) 13:15:16.16ID:ngB6qDho

244デフォルトの名無しさん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]]

245デフォルトの名無しさん2018/05/03(木) 14:55:50.12ID:cjR1ezGU
Smalltalk のメソッドの充実っぷりには毎回感心

246デフォルトの名無しさん2018/05/03(木) 18:28:55.09ID:qi+bYfi0
それなりの規模の処理系(GUI付きOSモドキ)をセルフホスティングで構築・維持していると
イディオムがイディオムとして認識・共有されやすく、さらにメソッドとしてまとめられやすいのかも

たとえばスクリプト言語処理系でしかないGNU Smalltalkはあまり便利メソッドが増える感じがしないので

247デフォルトの名無しさん2018/05/04(金) 19:54:42.66ID:4Zt1BODM
お題
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}

249デフォルトの名無しさん2018/05/04(金) 20:41:53.19ID:LfImqqRO

250デフォルトの名無しさん2018/05/04(金) 20:52:57.61ID:LfImqqRO
>>247 Bash
ideone だと駄目だった
https://ideone.com/FTnIoN

251デフォルトの名無しさん2018/05/04(金) 21:16:29.34ID:sij7cbOA
>>247
Perl

for(1..10000){eval”\$a$_=$_”}

こんなんでいいのか?

252デフォルトの名無しさん2018/05/04(金) 21:23:10.57ID:sij7cbOA
>>250
シェルもperlみたいにeval使えば簡単だと思うよ。その他の言語も同様。

てかこれ、インタープリタの言語にはできてもコンパイルする言語の場合は普通の方法ではできないんじゃないかな。
トリッキーな方法使ってようやっとできるかも知れないって感じじゃないだろうか。

253デフォルトの名無しさん2018/05/04(金) 21:49:18.32
Cプリプロセッサでもやろうと思えばできるけど面倒だからやらない

254デフォルトの名無しさん2018/05/04(金) 21:57:55.58ID:mhxe2Hc6
お題:パイ生地を折り畳め
ただし要素数は二個以上で偶数とする
気が向いた人は逆の操作も実装せよ
https://ideone.com/W9woGu

255デフォルトの名無しさん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

258デフォルトの名無しさん2018/05/05(土) 01:53:30.67ID:ia6t0Ogc
f, g のような変換関数を作ること自体は簡単な感じがするが、それと「パイ生地の折り畳み」がどう関係するのかがわからんな。
単にここでは折り畳んだらそういう並びになるというルールなだけ?

259デフォルトの名無しさん2018/05/05(土) 01:54:26.33ID:0a7ZDXtf

260デフォルトの名無しさん2018/05/05(土) 02:02:07.19ID:1dAfhim4
半分に折る->後半部を逆順に
折重ねたまま元の大きさまで伸ばす->前半部に合成

パイ生地の作り方からの連想だとは思う

261デフォルトの名無しさん2018/05/05(土) 02:08:07.54ID:j/DSqy58
>>247 javascript
eval('var ' + [...Array(10000)].map((_, i) => `a${i+1}=${i+1}`).join())
>>252の通りやった

262デフォルトの名無しさん2018/05/05(土) 02:13:33.62ID:1BpKS+ks
>>258 分からないと言うことをいろいろ言うつもりは無いけどm
>>254 のレスの内容とoctaveのコードから考えて
1 2 3 5 6
をパイ生地のように二つに折り畳んだ
1 2 3
6 5 4
を(下を先に選択して)リストで表すと
6 1 5 2 4 3
だということは想像に難くないので、そう解釈して解答を考えた。
gはその逆。誤解はあるかもしれない。

講釈がコードより長くなったけど、
「だけ?」って一体どういういみだよ?

263デフォルトの名無しさん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

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]

266デフォルトの名無しさん2018/05/05(土) 11:51:20.86

267デフォルトの名無しさん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) "

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) "

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

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 番目から持ってくればよい

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
となる式を考えてちょ(人・ω・)☆

274デフォルトの名無しさん2018/05/05(土) 19:03:50.73ID:1st6shTW
>>273
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くらいでやってみてください。最適化しないと結構時間かかっちゃうと思いますが。

276デフォルトの名無しさん2018/05/05(土) 19:17:21.84ID:c0K4Xq7n
>>274
ありがとうございます(^○^)
範囲を等分してiと合わせるだけだったんですね
これを思いつかないとは・・・寝てきます(・_・;)

277デフォルトの名無しさん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

278デフォルトの名無しさん2018/05/05(土) 20:28:32.99ID:MmzVJzsz

279デフォルトの名無しさん2018/05/05(土) 20:59:38.12ID:a4pX7/xy
>>270 Squeak/Pharo Smalltalk

https://ideone.com/ACAeKW

280デフォルトの名無しさん2018/05/05(土) 22:20:56.64ID:MmzVJzsz
>>275 Ruby 傾ける順番だけ最適化

https://ideone.com/4iIY9g

281デフォルトの名無しさん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

282デフォルトの名無しさん2018/05/05(土) 23:08:19.67ID:MmzVJzsz
>>281
通貨の種類は 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 (カード決済または電子マネー決済)

285デフォルトの名無しさん2018/05/06(日) 00:22:26.26

286デフォルトの名無しさん2018/05/06(日) 01:34:21.80

287デフォルトの名無しさん2018/05/06(日) 01:45:52.35ID:Bse1bLkg
>>275
Kotlin
https://paiza.io/projects/gVAA38huK6qosFkqbihPTg
ボードの内容と傾ける指示は全て標準入力から入力するようにした。

288デフォルトの名無しさん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

289デフォルトの名無しさん2018/05/06(日) 08:03:16.30ID:939GOaZM
>>275
一度でも水平垂直の両方に傾けると
座標じゃなくて単に駒の二次元リストでいけると思うから
指示の短縮と合わせて早くできると思うけど
どう書けばいいか悩んでる・・・

290デフォルトの名無しさん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

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

293デフォルトの名無しさん2018/05/08(火) 21:45:36.53ID:XzXTdruW
>>292

@9`*45

294デフォルトの名無しさん2018/05/08(火) 21:54:00.37ID:rppAglGz
はっ。それはもしや45の倍数・・・

おや?こんな夜中に誰だ?

295デフォルトの名無しさん2018/05/08(火) 22:14:46.30ID:8rfWV9vw
>>289
それって例えば初期配置が以下のとき(■が駒)
□■■□□■
□□■□■□
■■□■□■
□□■■□□
□■□■□□
■□■□□■
最初に例えば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 "

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

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も試してみようと思う

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

302デフォルトの名無しさん2018/05/09(水) 03:24:50.65

303デフォルトの名無しさん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

304デフォルトの名無しさん2018/05/09(水) 07:39:32.32ID:LEGAA83e
>>300
命令はもう LDRULDRU... で与えた方がいいかもね
この256文字?命令も URDLURDLU まで最適化できちゃうわけだし

305デフォルトの名無しさん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秒要する模様

306デフォルトの名無しさん2018/05/09(水) 15:06:55.92ID:FhlfzW8k
>>295
マス単位で省けると思う
[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(最適化された命令の長さ))で済みそうだよね

308デフォルトの名無しさん2018/05/09(水) 15:37:49.24ID:FhlfzW8k
>>305
面倒なループ書かなくても反転でいけたのか・・・
数学力が足りなかった

309デフォルトの名無しさん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

310デフォルトの名無しさん2018/05/09(水) 18:02:18.67ID:tbbSaefy
補足
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

312デフォルトの名無しさん2018/05/09(水) 21:01:50.08ID:28IRmfG3
やっぱはえ~w

313デフォルトの名無しさん2018/05/09(水) 21:40:14.20ID:7NiN2gcq
(そして今試してわかったが dispatch_group は
>>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次元配列に初期値セットしてからコードで操作した方が速い気がする。

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)!='.']とかやれば速いかな
インデックスは毎回計算しなくてもいいけど

319デフォルトの名無しさん2018/05/10(木) 16:30:45.02ID:qHVZoDSH
>>318で書いてみたけど
傾きの処理自体はC並みに速い
https://ideone.com/NWCyYW

320デフォルトの名無しさん2018/05/10(木) 16:47:50.18ID:Ulb5C2sT
そりゃあ
numpyの本体はC言語だしなぁ・・・

321デフォルトの名無しさん2018/05/10(木) 17:33:52.68ID:qHVZoDSH
本当は数値計算みたいにもっと速い命令を使ってくれるかなと期待してたんだけど
そういう上手くはいかなかった

322デフォルトの名無しさん2018/05/10(木) 17:50:15.92ID:I+4Qxgba
>>281
Kotlin
https://paiza.io/projects/wLuen-HE27TC3lZo8QclPw
何を何枚使用するかの内訳も出るようにした。

3233162018/05/10(木) 18:04:31.86ID:CLWEept/
>>275のコードで>>300のデータを
C版を計測したMacのChromeで計測してみた
結果は>>300と似たような数字で性能差はあまりなさそう

actions(256個)そのまま
37.972秒

最適化した URDLURDLU を使用
1.861秒

324デフォルトの名無しさん2018/05/10(木) 18:30:24.64ID:O+ANAa9X
じゃあArray版作るか…
思ったんだけどこれ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

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'
これで右寄せ。反対に繋げれば左寄せ。

直感的で 読 み や す い

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

332デフォルトの名無しさん2018/05/12(土) 10:56:43.70ID:pDgCeBjY

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.66
>>330
C言語
#include <stdio.h>
int main(){ printf("%d¥n", (6+5+4+3+2+1)*4); return 0; }

336デフォルトの名無しさん2018/05/12(土) 13:50:20.72ID:UoMtV9Kh
>>330
直方体そのものは1つなのでは?各面に打ってある点の数は違うけど同じ直方体であることには変わりないよね。

などと言ってしまったら問題にならなくて全然面白くないので後で考えてみるよ。w

337デフォルトの名無しさん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でいいのかな。

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面

343KAC2018/05/12(土) 17:50:27.68ID:7sNFtIfC
>>335
改行書くことすら惜しむくらいなら、「return 0;」省略すればいいのに・・・

>>338
そういうときはn面体に対するものにするとか、
m個くっつける場合のものにするとか、どこかの値を可変にすればいい。

344デフォルトの名無しさん2018/05/12(土) 18:04:42.08ID:TjVuoOYn
>>339
そうか。何が違うのか今のところ俺にはわからない。

>>342
その説明の意味がわからない。何を表しているのか?

345デフォルトの名無しさん2018/05/12(土) 18:38:44.14
>>344
くっついている面の組み合わせ(サイコロを2つ振って出る目と同じ)×4回転

346デフォルトの名無しさん2018/05/12(土) 18:57:16.30ID:TjVuoOYn
>>345
あ、そうか。例えば1、6は6、1と同じか。

347デフォルトの名無しさん2018/05/12(土) 19:09:45.48ID:TjVuoOYn
6*7/2*4=6*7*2=84てことだな。

じゃ、あとは無理矢理全パターン出して全件チェックするブルートフォースなプログラムでもゆっくり作るとするか。

3483472018/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つの正五胞体の面を合わせて新たな多胞体を作るとき、
面の模様の組み合わせ合わせてを合わせて何通り作ることができるか求めよ

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タブレットでほとんど変わらなくて(´・ω・`)

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)

359デフォルトの名無しさん2018/05/13(日) 23:55:53.09ID:VV8A9gRv
ああ、自称数学が出来る人がアホな事を言ってたヤツだな

最小値は存在しないとか
最小値が存在する証明は簡単だとか言いつつまったく出来てなかったり

360デフォルトの名無しさん2018/05/13(日) 23:57:36.72ID:VV8A9gRv
全く解いてないけど
力業しか方法は無いのかな?

AVX512とかGPUとか使えたりする?

361KAC2018/05/13(日) 23:59:19.53ID:n7+JE8gH
>>359
複数解があれば、その中で一番小さい物が最小値
という当たり前の定義に何か疑問でも?

362デフォルトの名無しさん2018/05/14(月) 00:04:15.31ID:1oWMeidW
まだ続けるのその話題?

363デフォルトの名無しさん2018/05/14(月) 00:07:14.94ID:1oWMeidW
>>361
最小値が存在するためにはいくつかの条件があって
その条件を全く考慮しないで「証明」と言い張ってたアホがいたと
まさか君じゃないよね?

364 ◆QZaw55cn4c 2018/05/14(月) 00:12:43.39ID:pLvY6PGg
それより数学のセンセが複素指数関数をなんだか誤解しているのを何とか説き伏せたいのだけれども…

365デフォルトの名無しさん2018/05/14(月) 02:08:50.73ID:nPZzHRVa
>>364
多値関数のことを周期関数とか見当違いのことを言っていたあなたが何か言えることなんてあるんですか?
でこの話題まだ続けたいの?

366デフォルトの名無しさん2018/05/14(月) 03:17:23.56ID:UX/qtCoA
>>364
やるならよそで個人的にやってくれ

367デフォルトの名無しさん2018/05/14(月) 07:14:36.98ID:n+3GdDup
なんか最小値とかでよほど辛い目にあったんだろうなw

368 ◆QZaw55cn4c 2018/05/14(月) 16:57:02.04ID:pLvY6PGg
>>365
続けます、今必死に
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面体を求める

374デフォルトの名無しさん2018/05/14(月) 23:35:45.52ID:D3cFptH9
>>368
もしかしてリーマン面とかも知らずに留数定理がどうのこうの言ってたのか?
厚顔無恥ってこのことだぜ

375デフォルトの名無しさん2018/05/15(火) 00:31:02.93ID:joZeDATc
>>374
素人が素人を笑う
目糞鼻糞

376デフォルトの名無しさん2018/05/15(火) 00:50:44.33ID:cUJCQZWv
>>375
言ってる事がよくわからないんだが?
もしかしてくやしいの?

377デフォルトの名無しさん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

379デフォルトの名無しさん2018/05/15(火) 03:49:05.69ID:76+B/frM
>>350
問題そのものとは関係ないかもしれんが正五胞体の面同士を重ねても通常の多胞体にはならないんじゃ
次元をひとつ下げればふたつの正四面体の辺同士を重ねる操作にあたるよね

380デフォルトの名無しさん2018/05/15(火) 06:03:50.51ID:4dx/yUcE
>>378 Ruby
(1) を wavで出力
https://ideone.com/uw0YFZ

381デフォルトの名無しさん2018/05/15(火) 07:41:42.24ID:joZeDATc
>>376
おれは数学の専門家だって
>>368>>374の低レベルなバトル楽しみにしてるよ

382デフォルトの名無しさん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:CWT5ZUHq
>>382
趣味のプログラマーだから
数学的に面白いネタ探し

>>384
プログラムで書きなさい

printf("ない??n");

386デフォルトの名無しさん2018/05/15(火) 11:38:20.20ID:WUGOR4JP
プログラム板で文字化けさせてる人って

387デフォルトの名無しさん2018/05/15(火) 11:53:09.77ID:euWa7j5X
>>385
いちいち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:CWT5ZUHq
>>387
おれは誰なんだ?
ごくたまにしか書き込んで無いけど

394デフォルトの名無しさん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:anwetN0E

398デフォルトの名無しさん2018/05/15(火) 15:00:25.50ID:s5avjWfm
5chなんだから
じゃんじゃん語るべき

399デフォルトの名無しさん2018/05/15(火) 15:13:17.78ID:CiGj6Ypo
"\" 円(U+00A5)
"\" バックスラッシュ(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:SykJSNjw
>>401
いちいち突っかかるお前も大概だがな
黙って見ているってこともできないのか

403デフォルトの名無しさん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の文字コード関係ライブラリ。割と広く使われている)で
そういう不具合のあるバージョンがあるんだろうな

405デフォルトの名無しさん2018/05/15(火) 18:28:51.68ID:KcubxIhK
テキストファイルっていっぱい種類あるね

406デフォルトの名無しさん2018/05/15(火) 18:34:45.23ID:GoFwWa3N
>>404の補足
5ch は投稿されたfcfcをそのまま出してるだけで、
誤変換しているのは投稿しているアプリ

それはそれとしてこの板ではバックスラッシュ使いたいよね

407デフォルトの名無しさん2018/05/15(火) 19:26:38.75ID:CiGj6Ypo
>>404
U+00A5がYen signじゃろ…

408デフォルトの名無しさん2018/05/15(火) 19:52:19.95
この板ではバックスラッシュも円マークも両方書き込める

実例↓

文字コード総合スレ Part11
http://2chb.net/r/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年ぶりに"あの漢″帰郷の噂… <再臨> イスラエル、また処刑する!?
http://2chb.net/r/liveplus/1526351394/l50

412デフォルトの名無しさん2018/05/15(火) 21:02:46.10ID:GoFwWa3N
>>407
そっかごめん訂正
u+00A5 はシフトjisの0x5c に変換されて書けるけど、
ユニコードの u+005c のバックスラッシュは書けない、が正解だった。

413デフォルトの名無しさん2018/05/15(火) 21:10:05.44ID:GoFwWa3N
バックスラッシュと言えば Visual Studio で c のソース編集時に
バックスラッシュが表示されてて、文字コードは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:Ncn1UiZB

418デフォルトの名無しさん2018/05/16(水) 00:54:59.23ID:tDn46mBr
禁煙の立て札の前でタバコを吸う数学奴文字コード奴であった。

419デフォルトの名無しさん2018/05/16(水) 01:24:47.67
>>378
C言語 (1)(2)のみ
https://ideone.com/8l7ZKv

420デフォルトの名無しさん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

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:+2MSwW5R
>>423
なるほど、禁止するなら
プログラミングのお題スレ(数学禁止 )
こうだな
こっちでもいいな

426デフォルトの名無しさん2018/05/16(水) 09:57:33.06ID:OColoMR4
プログラミングのお題には数学要素のあるもの多いな

427デフォルトの名無しさん2018/05/16(水) 10:38:31.46ID:wFCVkaLn
>>420と同じようなのをやった気がするなとログ探したらやっぱりやってた…3年以上前やw

プログラミングのお題スレ Part6(c)2ch.net
http://2chb.net/r/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() の値が有理数になる場合についての
数学的証明が活発に議論されていたな

431デフォルトの名無しさん2018/05/16(水) 12:03:53.05
数学者がプログラミングの領域にしゃしゃり出てくんなや

プログラミングはExcel方眼紙を操る文系の神聖不可侵領域なんや

432デフォルトの名無しさん2018/05/16(水) 12:05:10.39ID:OGup9rVZ
ディープラーニングとかAIとかモロ数学(知識)では?

433KAC2018/05/16(水) 12:46:11.09ID:2T+9VrOe
>>425
電子計算機に数学禁止て。。。

434デフォルトの名無しさん2018/05/16(水) 13:00:55.70ID:danjk40Q
プログラミングも一応数学の一部ではあるけどな。計算手順だし。
しかしプログラミングのお題として数学問題そのまま出されると数学的に頭で考えるだけで解けてしまってあまり意味がないだろう。
コンピュータに計算をさせるという要素がなくなりプログラミングのお題にならない。それは数学のお題だ。

435デフォルトの名無しさん2018/05/16(水) 13:15:33.84ID:sHhzsQ4l
>>430 の過去スレの有理数・無理数の問題が数学問題で、

このスレの>>420 は、プログラミング問題だな。

436デフォルトの名無しさん2018/05/16(水) 13:38:52.63ID:qWxCSmvP
>>420
「同値」の意味くらいは知っておいた方が良いかと

437デフォルトの名無しさん2018/05/16(水) 13:41:34.46ID:qWxCSmvP
>>428
プログラムってのはそういうもんだろ
人間が考えたアルゴリズムを言語という形にするだけ

438デフォルトの名無しさん2018/05/16(水) 13:50:27.54ID:danjk40Q
数学ってアルゴリズム考える所までで終わりじゃない?算数や物理じゃないから式に値を入れて計算して答えを出す所までやる必要がなくて、式そのものを求めて終わり。

439デフォルトの名無しさん2018/05/16(水) 16:05:28.01ID:VFom9laO
このスレで数学って言ってるのは
式だけじゃなくアルゴリズムまで含んでる気がするけど

アルゴリズムは数学じゃないっていうなら
>>420なんか数学的要素ゼロになっちゃう

440デフォルトの名無しさん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:+GN46IIl
やっぱり不気味だよ
例えば>>275なんて最終盤面がU・D・L・R(上下左右)とUR・UL・DR・DL(左上・右上・左下・右下)の8つしか無いだろ
2回計算して終わりじゃん

447デフォルトの名無しさん2018/05/16(水) 22:02:29.19ID:9Q3+56hM
>>446
2回で終わらないでしょ
頭冷やせ

448デフォルトの名無しさん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] -> ?

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:ZPdPUxd5

456デフォルトの名無しさん2018/05/17(木) 00:59:40.10
>>455
要素が1個になるまで繰り返す
奇数の場合3で掛けて右の数値を足す
配列の右端を切り捨てる

とか、どこ情報なの?

こんなの読み取らなきゃいけないのなんて「プログラミングのお題」ではない
こんな糞問題出すなや >>452

457デフォルトの名無しさん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.48
>>456
1行目間違えた

偶数の場合2で割る

461デフォルトの名無しさん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..
..........

465デフォルトの名無しさん2018/05/17(木) 06:04:53.73ID:w9FSok0P
ああ>>446, >>448は勝手に駒の区別をしないことにしたうえで難癖付けてたのか
プログラミング以前に日本語のセンスが「壊滅的に欠けている」なw

466デフォルトの名無しさん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.40
>>465
俺はIQ高いから頭ん中でシミュレーションしてみたんだわ
ただ、駒が全部真っ黒で見分けが付かなかった
すまんな

470デフォルトの名無しさん2018/05/17(木) 18:14:45.68ID:vz9Ov7AZ
このスレもう4年以上経つのか
時の流れって怖すぎだよな

471デフォルトの名無しさん2018/05/17(木) 20:04:17.63ID:6aDUZAbl
>>464
それってそんなにコマ沢山使わなくてもわかるよね。
3つのコマを2*2の4枠の中に入れれば傾けるだけでくるくる回せるから。

472デフォルトの名無しさん2018/05/17(木) 20:12:27.33ID:3vBIE/+x
>>471
>>446で本人が言っている8種
>>448で反転だの言ってるからその倍にして16種

結果の盤面がそれ以下のバリエーションだと
「やっぱり8種類以下しかないじゃないか!」とかになるだけだろ

473デフォルトの名無しさん2018/05/17(木) 20:17:32.90ID:3vBIE/+x
もちろんもっと少ないコマでも結果が16種より多くなる盤面はあるけど、
幾らでも多くなるよというのをイメージしやすいように大きめにした

474デフォルトの名無しさん2018/05/17(木) 23:21:27.20ID:R4VP18xe
>>358
勉強をかねてこれやってるが、ある程度、できたところでアップしてみる。
考えてる方針が速いとはおもうが・・・

475デフォルトの名無しさん2018/05/18(金) 00:07:34.10ID:c9tlPD2i
>>378 HTML5 + Web Audio API
(1) を音声出力
https://ideone.com/9aOhLO

476デフォルトの名無しさん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

478デフォルトの名無しさん2018/05/18(金) 07:59:42.69ID:C1d8hfuw
>>474
じゃあ競争しよう

私はこれからスタートであまり時間もないので
ちょっと時間がかかるかも知れないけど

479デフォルトの名無しさん2018/05/18(金) 08:04:09.35ID:C1d8hfuw
>>477
入力文字列を単純につなげば解の1個だが...

求める文字リングが短いほど良い解っていう条件?

480デフォルトの名無しさん2018/05/18(金) 08:20:20.07
>>479
そんな感じです
ほどほどに圧縮できてれば必ずしも最短でなくても

481デフォルトの名無しさん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

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の範囲も限定できる。

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乗和の式が作り出せる。
この式から、解とその個数も求まるはず。

しかし、これがわかっても最小値を求めるのは簡単ではないとおもう。かなりの計算量がいるはず。

485デフォルトの名無しさん2018/05/19(土) 03:53:23.91ID:/t1Y5z0r
z = x + yiという複素数でいうと、このノルムは|

486デフォルトの名無しさん2018/05/19(土) 03:56:11.86ID:/t1Y5z0r
z = x + yiという複素数でいうと、ノルムは|z|^2 = x^2 + y^2 であって
|z||w| = |zw|を満たすので、
>>484の式は、新たな複素数 zwを作り出すことと一緒。

487デフォルトの名無しさん2018/05/19(土) 07:41:40.76ID:b7x1I7X/
お題

ケブンリッジジェネレータ

知らない人のために解説すると、人間の認識力の問題で単語の最初と最後が正しいと途中の文字順序が違っていても正しい単語と見間違えるというのがある。
例えば「よこうそ」は「ようこそ」と見間違える。「およはう」は「おはよう」と見間違える。(これは違うと分かっていても見えてしまうという、空耳アワーの歌みたいでもある)。

以前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?'

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?' "

492デフォルトの名無しさん2018/05/21(月) 18:51:56.06ID:VDVE1q4f
みんな日本語スルーしててワロタw

493デフォルトの名無しさん2018/05/21(月) 20:02:50.47ID:I0TPptnw
>>482
やってみたけど、
馬鹿正直に検索するのと大して変わらんね
半径1000以下を全て検索するのは厳しそう

円周を検索するする昔ながらのアルゴリズムは優秀だ

494デフォルトの名無しさん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 で つくられ てたと 思う)が つくられ たりも しいてた。
今 は もうない ようだが こんかい の お題 は これ である。つまり、にりゅうょく された 単語 の さしいょ と 最後 は そのまま で とちゅう の もゅんじじじょ を ラダンム に いかれえ た 結果 を しょゅつりく する。
にほんご の ぶんしょう は 普通 は 単語 と 単語 の 間 に スペース が ないが、これ に ついては 処理 を かんたん に すたるめ に スーペス あり で にゅうりょく された ぶしんょう しか せょじいう に 処理 しない といこうと に してよい。"

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 で つらくれ てたと 思う)が つらくれ たりも しいてた。
今 は もなうい よだうが こかんい の お題 は これ である。つまり、にりょうゅく された 単語 の さしいょ と 最後 は そまのま で とゅちう の もじじんゅじょ を ラダンム に いかれえ た 結果 を しょつゅりく する。
にんほご の ぶしんょう は 普通 は 単語 と 単語 の 間 に スーペス が ないが、これ に つていは 処理 を かたんん に すたるめ に スーペス あり で にうりょゅく された ぶょんしう"

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() がなかったので自作した。

501デフォルトの名無しさん2018/05/23(水) 19:05:30.98ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

AI2XF

502デフォルトの名無しさん2018/05/23(水) 22:43:13.42ID:0Sl9hrHV
僕の 知合いりの 知合りいが できた パコソン 一台で お持れちにな金る やり方
役立につ かまれもしせん
グルグーで 検るす索と いかいも 『 ネットぐ方稼で法 モヌレアフニノ 』

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

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:ijkA2Dj3
>>518
あ、ホントだ、恥ずかしいww
校正というべきだったか

520デフォルトの名無しさん2018/05/29(火) 01:15:48.27ID:zVPinOAm
くらだなといこに

521デフォルトの名無しさん2018/05/31(木) 05:50:22.16ID:89+9cUdj

522デフォルトの名無しさん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

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通りのメールアドレス判定なんて不毛だってはっきりわかんだね

527デフォルトの名無しさん2018/06/04(月) 22:31:58.94ID:lBwALx1Z
>>526
わらたwwwww

528デフォルトの名無しさん2018/06/04(月) 23:19:04.56ID:hdRuAjud
昔仕事で MUA 作った時に >>526 にある
folding white space をぶち込んでくる送信元がいて苦労した記憶が…

529デフォルトの名無しさん2018/06/05(火) 00:27:36.36ID:xCctA/+R
>>526
ここはお題スレだから不毛で良いんだよ。パズルを解くようなもんなんだから。

530デフォルトの名無しさん2018/06/05(火) 00:33:47.39ID:ueqUCLW3
>>475に感化されて>>378の(1)(2)(3)を勉強しながら書いてみた
https://scalafiddle.io/sf/ZGr8M2X/1

531デフォルトの名無しさん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

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


例が間違ってたらゴメン

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?

537デフォルトの名無しさん2018/06/22(金) 04:46:50.60ID:OFAJDNNU

538デフォルトの名無しさん2018/06/22(金) 06:04:41.34ID:3MP35Wby
>536

申し訳ない。その通りです。

539デフォルトの名無しさん2018/06/22(金) 19:02:58.08ID:OFAJDNNU

540デフォルトの名無しさん2018/06/23(土) 00:13:54.74ID:3GZ5DVjp
>>538
a=1
b=2
じやあかんか?

541デフォルトの名無しさん2018/06/23(土) 00:40:06.00ID:5Wb6fwhK
数学板じゃなくてもさすがに最小公倍数くらいは
このスレならみんな知ってると思ってた

542 ◆QZaw55cn4c 2018/06/23(土) 01:29:42.07ID:OlLfOCSW
>>541
公倍数は最小公倍数の倍数
公約数は最大公約数の約数

…当たり前のように思えて実際の証明は結構イメージしにくく、一回読んだだけではよくわからないのでした…

543デフォルトの名無しさん2018/06/23(土) 01:40:18.34ID:gWvFlQcl
お題:標準入力からhtmlが一行ずつ与えられるのでh1,h2などのhタグを階層化して出力しなさい。タグ内のテキストも一緒に出力し、タグ内にimgが含まれていたらそのaltを出力しなさい。

出力例:
h1 5ちゃんねるにようこそ
....h2 クソスレ乙
........h3 逝ってよし
....h2 オマエモナー

544デフォルトの名無しさん2018/06/23(土) 04:54:51.31ID:0hHcgEn+

545デフォルトの名無しさん2018/06/24(日) 06:33:26.88ID:eSenA4KT

546デフォルトの名無しさん2018/06/25(月) 15:39:38.08ID:NIfex5vk
任意の文字列を含む有効なビットコインのアドレスを生成するプログラムを作成せよ。有効な形式のアドレスでなければブロックチェーンエクスプローラで検索しても認識されない。ビットコインアドレスの形式については下記サイトを参照。
https://qiita.com/pokochi/items/4d536a4a24067505abea

例:下記サイトの二番目にあるようなアドレス、
https://bitflyer.com/ja-jp/glossary/address

5475332018/06/27(水) 00:31:17.62ID:vFJz85Ce
>>533
C++(使ってるのはほとんどCですが)
https://ideone.com/S4H5Mo

自分の考えてたアルゴリズムをCで記述してみました。
模範解答、とはとても言えない代物です。もっと改良の余地がありますし、バグも取りきれてないかもしれません。

それと>533出題時に考えてたアルゴリズム(手計算でやってましたが)を↓に記述してみました。
こちらは明確に誤った答が出されてしまいます。参考程度に orz
https://ideone.com/HdfYPe

548デフォルトの名無しさん2018/06/28(木) 20:31:12.40ID:frbOjHXy
お題:三捨四入せよ
負の丸め方向はどちらでも良い
https://ideone.com/Z6fTGh

549デフォルトの名無しさん2018/06/29(金) 03:23:11.07ID:9jOo9IQo
>>548
これでいいの?なんか妙に簡単に感じるんだが。

Kotlin
https://paiza.io/projects/6DxRoEDJdya5lyflPo2P9Q

550デフォルトの名無しさん2018/06/29(金) 09:31:42.23ID:1XSLHtbi
だれか
>>546
にも挑戦してくれ

551デフォルトの名無しさん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:1XSLHtbi

558デフォルトの名無しさん2018/06/29(金) 21:50:25.20ID:mF6xIVde
やれるものならやってくださいお願いします

559デフォルトの名無しさん2018/06/30(土) 11:21:27.07ID:xZj/2lQZ
ライブラリを入れ込んだver
https://ideone.com/6WfH7S

560デフォルトの名無しさん2018/06/30(土) 12:55:28.86ID:xZj/2lQZ
これでこんなこともできる
https://chainflyer.bitflyer.jp/Address/1MayukoMuraokaXXXXXXXXXXXXXXX5f8QC

561デフォルトの名無しさん2018/07/03(火) 01:47:57.66ID:dVWXwhE2
>>543
io !(?<_><.?>)(.)\k<_>! <- '\1'

562デフォルトの名無しさん2018/07/03(火) 01:49:38.99ID:dVWXwhE2
>>548
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
情報オリンピックの問題って組合せ最適化ばかりなのかなぁ?
http://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
鈴木貫太郎
灘中 中学入試 整数問題



問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の倍数

だから数字を因数分解して、これらに該当するかどうかで、問題を判別できる

572デフォルトの名無しさん2018/07/09(月) 16:13:07.36ID:OMEWQnbN
いただきぃ!!
https://goo.gl/uAcy7u

5735692018/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

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);

575デフォルトの名無しさん2018/07/11(水) 21:04:09.51ID:9T5mO0zj
コンピュータを使ってブルートフォースで答えを探す方法はわかってもコンピュータを使わずに数学的に解く方法が思い浮かばない。
しかしそれを小学生が解いて入学するという現実。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 "

577デフォルトの名無しさん2018/07/12(木) 00:00:29.98ID:gpOSM7dO
このスレprologニキっていないの?
手続き型以外の解法見たい
あと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桁ずつ分解するのに余計な手間がかかりそう)。
それよりも総当たりで解いた方がコンピュータ的には手っ取り早い気がしますね。

579デフォルトの名無しさん2018/07/12(木) 01:52:58.79ID:2elGYyrL
>>578
最初の「合計が1110になる12組の数字にまとめられる」が何故なのかわからん。

5805782018/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

若干手続きはコンピュータ向けと言えなくもないですが、やはりプログラミングするには手間ですね。

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が答え

582デフォルトの名無しさん2018/07/12(木) 07:47:08.70ID:KB59nVpm
以上が東大数学科卒の考え方
両方で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秒くらい

584デフォルトの名無しさん2018/07/12(木) 09:17:45.00ID:kqFyQCjZ
やっぱ紙と鉛筆で解く問題だよね。
最初から解析的に解けない問題出して欲しい。

585デフォルトの名無しさん2018/07/12(木) 10:06:30.92ID:nIR9VMIg
>>580
小学生が解く場合に途中で 8658+666x=13320 のような数学的表現で考えるのはありなのか?
回答者個人にそれができるかできないかの問題ではなく小学校が教えている範囲にそれが含まれるのかの問題ね。
もし含まれていないとしたら他の方法で解く事が可能という事になる。

586デフォルトの名無しさん2018/07/12(木) 12:00:25.05ID:hJKe2JzT
>>583
「従って一番左の桁は1で確定し」
がわかりません

>>584
だよね

587デフォルトの名無しさん2018/07/12(木) 14:03:35.77ID:Jbx8ub/k
36の倍数は、4, 9 の倍数で、それらの特徴を利用できるかどうかだけ

捨て問題だろ。
考えたり解いたりすると、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であると確定する

590デフォルトの名無しさん2018/07/12(木) 19:16:30.21ID:uRWdzVZq
えらい省略したねえ

591デフォルトの名無しさん2018/07/13(金) 02:14:22.89ID:brGVybd4
>>569
問1のみ
Kotlin
https://paiza.io/projects/rG4rKSs27X473v0qxyicHQ
何も考えずに全パターン調べているだけ。

592デフォルトの名無しさん2018/07/13(金) 02:29:27.10ID:brGVybd4
>>569
問2のみ
Kotlin
https://paiza.io/projects/RS3SPZeRhx0caTVXDHQmaw
こっちの方が簡単だったな。

593デフォルトの名無しさん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

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

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

5965692018/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

597デフォルトの名無しさん2018/07/14(土) 05:33:19.05ID:jpR0mrXc
国際数学オリンピック
問3反パスカル的三角形
https://twitter.com/worapolketanond/status/1017612366840717312

598デフォルトの名無しさん2018/07/14(土) 13:47:04.74ID:3J9Q4qmi
そろそろ新しいお題を。
既出なら申し訳ない。

お題:
再帰・スタックを使用しないマージソートを実装し、整数型のデータ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

600デフォルトの名無しさん2018/07/14(土) 15:22:22.12ID:wSvgACAH
>>598
残念ながら余り良い問題じゃない希ガス

601デフォルトの名無しさん2018/07/14(土) 15:57:46.49ID:ETmmav0O
スタック不可だとスタック操作が隠蔽されてる高級言語はほぼ使用出来ない
無理やりCやC++でやるとしてもローカル変数や関数呼び出しを殆ど封印しなければならない
これを良い問題と見るか悪い問題と見るかは分からないが俺はやる気が出ない

602デフォルトの名無しさん2018/07/14(土) 16:00:11.93ID:4RxIMQwD
>>599
組み合わせか

北大の湊 真一のZDD とか。
本も出てる

603デフォルトの名無しさん2018/07/14(土) 17:25:12.68ID:btN22RWl
お題:Hello, World!を出力せよ。ただし出力系の関数を使ってはならない。

604デフォルトの名無しさん2018/07/14(土) 18:41:01.92ID:3J9Q4qmi
>>601

すみません。>598の「スタック」はデータ構造としての利用のみを想定していて、他関数呼び出しの禁止などは意図してませんでした。
問題文が不明瞭ですみません。

>>600
ご期待に添えず申し訳ない。他のお題を思いついたら、また出題させていただきます。

605デフォルトの名無しさん2018/07/14(土) 20:04:39.81ID:wFLY+TGv
お題: マップの広さと部屋の個数及び部屋間の繋がりが与えられた時、ダンジョンを作成せよ
・ダンジョンは部屋と通路からなる
・部屋は少なくとも3x4の大きさを持つ
・通路の幅は1
・部屋同士は接しない
・マップ外に部屋や通路は無い
一応、想定としては標準出力に'#'と'.'で表示を考えてる
生成方法は自由だからゲーム的面白さのあるマップ作っても良い

606デフォルトの名無しさん2018/07/14(土) 20:21:35.37ID:xV7EJA5w
解釈がいろいろあり過ぎて
コードに対して仕様の説明文が必要になるぞ

607 ◆QZaw55cn4c 2018/07/14(土) 21:29:48.92ID:CBXc6tpD
>>604
>>598 の問題はおもしろいし、お題として成立していると思います
・再帰を使用しないマージソートを実装
・作業領域を元のデータの半分の量しか確保せずにソートを実行する
で考えているところです

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:upVjqm6g
>>603
じゃあC言語で。

#include <stdio.h>

int main()
{]

611デフォルトの名無しさん2018/07/15(日) 00:14:11.69ID:upVjqm6g
ごめん途中で書き込みボタン押してしまった。

612デフォルトの名無しさん2018/07/15(日) 00:15:38.60ID:upVjqm6g
>>603

#include <stdio.h>

int main()
{
 system("echo Hello, World!");
 return 0;
}

613デフォルトの名無しさん2018/07/15(日) 00:16:57.24ID:iXIp3nZ5
>>609
システムコールの内部は関数
だったりして

614デフォルトの名無しさん2018/07/15(日) 00:17:46.78ID:iXIp3nZ5
>>612
それ関数

615デフォルトの名無しさん2018/07/15(日) 00:23:22.27ID:upVjqm6g
>>609
クラスもありかも知れない。クラスの中にはメソッドがある。メソッドはメソッドであって関数ではない。
あるいは 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
とかじゃないの?

618デフォルトの名無しさん2018/07/15(日) 00:46:35.39ID:YSciq3u7
>>603
J
'Hello, World!'

REPL な処理系なら簡単

619デフォルトの名無しさん2018/07/15(日) 01:18:12.57ID:i/vgUFG7
>>599
とりあえず出来たけどもっと簡単に変換する方法があるような気がする
https://ideone.com/EnmoNU

620デフォルトの名無しさん2018/07/15(日) 03:18:16.17ID:upVjqm6g
cat
Hello, World!

もはやプログラムですらない。

621デフォルトの名無しさん2018/07/15(日) 08:10:13.37ID:YZu0PDvL
>>599
100この中から4個を選ぶことだから完全最小ハッシュ関数が使える

622デフォルトの名無しさん2018/07/15(日) 08:20:59.61ID:YZu0PDvL
>>603
紙にペンでHello, World! と書く。

623デフォルトの名無しさん2018/07/15(日) 08:21:04.86ID:YZu0PDvL
>>603
紙にペンで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+
>>599 Java
https://ideone.com/oI3bvA
完全最小ハッシュ関数でぐぐっちゃった

627デフォルトの名無しさん2018/07/15(日) 12:21:14.41ID:9lve5q3D
>>621
>>626
考え方分かりました
ありがとうございました

628デフォルトの名無しさん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:kiP00q0W
>>599
1 2 3 4 -> 001002003004
97 98 99 100 -> 097098099100

631デフォルトの名無しさん2018/07/15(日) 14:11:04.01ID:d2Ttt1A+
>>629
よし、そのコードを貼るのだ

632デフォルトの名無しさん2018/07/15(日) 14:14:11.66ID:9lve5q3D
>>619のもっと効率悪い奴だよ
元は100C4じゃなくて28C4だったけど
int cc[4][32][32];
こんな二次元の配列使ってた

633デフォルトの名無しさん2018/07/15(日) 14:19:01.22ID:ugn7dRUi
いいから貼れ

634デフォルトの名無しさん2018/07/15(日) 14:26:45.03ID:9lve5q3D
https://ideone.com/VFv36f
2年前に書いたやつで今は何やってるかよく分からないけど
>>619のは昨日元のこのコードを見ないで30分くらい考えて作った

635デフォルトの名無しさん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:ugn7dRUi

642デフォルトの名無しさん2018/07/16(月) 00:30:52.75ID:DlxdbTiq
入力と出力の例とかあると良いよね

643デフォルトの名無しさん2018/07/16(月) 10:10:17.82ID:7UvME/Zj
>>607
で、出来てる?

644 ◆QZaw55cn4c 2018/07/16(月) 11:53:01.88ID:PLRcL5uS
>>643
一般に、再帰を非再帰に書き下すのは難しいのです…

645デフォルトの名無しさん2018/07/16(月) 13:51:43.31ID:yJ4dWfp7
お題
ポーランド記法による計算機を実装せよ
演算子は加算(+)と乗算(*)をサポートすること

* + 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

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

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}

652デフォルトの名無しさん2018/07/19(木) 21:52:08.91ID:QlKeHbXC
うんざり

653デフォルトの名無しさん2018/07/24(火) 10:08:13.30ID:Dnr6z2Ly
>>606
>>605のは要はローグライクの部屋を作れってことだろ

出題者の説明不足
画像の1枚でも張れば見て分かる

プログラミングのお題スレ Part11 	YouTube動画>3本 ->画像>3枚

654デフォルトの名無しさん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

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

664デフォルトの名無しさん2018/07/26(木) 10:44:43.72ID:NOsumJU/
数学で解ける問題をわざわざコンピューターでムダな解き方するの??
突き詰めていくと数学で出した解法そのまま引き写すだけになるのが分かりきってるのに。

665デフォルトの名無しさん2018/07/26(木) 10:51:14.48ID:1RynmuAu
だからわざわざ「数オリに出るくらいの賢さがないから」って言ってるだろ日本語読めねえのかよ
そりゃ灘の入試レベルならその通りだろうけど数オリで正解率1割切ってたような問題なんだから計算機使ったアプローチしてみるのもプログラミングのお題としては面白いだろ
それともなんだ、円周率の計算だってペンと紙でできるんだから無駄だっていうのか?w
そんな極論言うレベルの頭だから数学もできないんだよw

666デフォルトの名無しさん2018/07/26(木) 11:36:12.38ID:64IGnOgv
そういう無駄に一般化した話も結構だけど、
個別具体的な話として>>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:wiCSHgxo
アプローチ以前に
>>597の問題って存在するの
それとも無いの

672デフォルトの名無しさん2018/07/27(金) 00:30:20.41ID:1FlI+KkW
作るのは無理な気がするがよーわからん

一番大きい数値 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には解がある

674デフォルトの名無しさん2018/07/27(金) 01:42:27.70ID:1FlI+KkW
>>673
適当に作ったプログラム(>>657)じゃ5までしか見つかっとらんのだけど、6や7にも解あるんか

675デフォルトの名無しさん2018/07/27(金) 02:06:17.44ID:DQ/IIgai
ないのかごめん
でも5でも同じことは言えるような

676デフォルトの名無しさん2018/07/27(金) 04:54:59.02ID:1FlI+KkW
5以下の場合は数字が足りなくなる前に最大値からの流れに合流出来てるんじゃね?

677デフォルトの名無しさん2018/07/27(金) 07:39:19.67ID:9MbN0qgs
>>674
>>657じゃなくてCで書いたけど6~40までは解無し

678デフォルトの名無しさん2018/07/27(金) 07:52:55.93ID:2v1r+MgC
数オリ経験者、東大数学科卒だけど
今度挑戦してみるか

679デフォルトの名無しさん2018/07/27(金) 18:20:03.99ID:KWveLgZ0
お題
非負整数nが与えられるので、以下に示すような六角形状の螺旋を描画せよ
https://ideone.com/MmH3N6

680デフォルトの名無しさん2018/07/27(金) 19:00:06.01ID:2ZGMtSH+
>>679

質問です。
n>99の場合はズレが生じてくると思いますが、その時はどうしますか?
それともn≦99で範囲を絞ってもよろしいんでしょうか?

まぁ、私が作れるかどうか分からないんですがorz

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
http://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の大きさに合わせて-の数を決めれば、歪にならないと思うよ。

6855972018/07/29(日) 11:00:51.11ID:g8Q1VsuY

686デフォルトの名無しさん2018/07/29(日) 13:36:35.25ID:MuGsWv1+
>>685
へ~やっぱ n = 5 までしかないんだな
後でちゃんと読んどくわ

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:WDXOLOCv
>>688
こうすると分かるんだって。
https://qiita.com/koara-local/items/1fac13704123717f5cc8
但し Linux 。

692デフォルトの名無しさん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℃

693デフォルトの名無しさん2018/08/02(木) 01:04:29.34ID:vClc7nAi
あれ?\n が抜けた。
これね。

awk '{printf "%.3f℃\n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp

694デフォルトの名無しさん2018/08/02(木) 02:37:36.98ID:aTwsiZBG

695デフォルトの名無しさん2018/08/02(木) 19:31:00.50ID:zwgkA1lD
8888

696デフォルトの名無しさん2018/08/10(金) 02:32:41.77ID:3Gbr2Rmh
鈴木貫太郎
灘中 中学入試問題シリーズ 整数問題



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:MBG3l1c9

699デフォルトの名無しさん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

700 ◆QZaw55cn4c 2018/08/10(金) 07:06:46.57ID:H9lF8aPc

701デフォルトの名無しさん2018/08/10(金) 10:02:14.32ID:GIxLf6/p
>>696
500015 + <ABC00> = 0 mod 999
<=> 4151 + <ABC> = 0 mod 999
<=> 4151 + <ABC> = 999*5
<=> <ABC> = 844

>>699 Ruby
#!ruby -p
b, n = $_.scan(/\d+/).map &:to_i
puts n.to_s(b).upcase
#=>
12進数の11
B
2進数の123456
11110001001000000
3進数の123456
20021100110
16進数の123456
1E240

702デフォルトの名無しさん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

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"
}

704デフォルトの名無しさん2018/08/10(金) 11:38:51.00ID:EBuB6o8O

705デフォルトの名無しさん2018/08/10(金) 14:15:41.82ID:xmypHVHY

706デフォルトの名無しさん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

707デフォルトの名無しさん2018/08/10(金) 17:50:01.60ID:q2LOavXt

708デフォルトの名無しさん2018/08/10(金) 17:57:07.00ID:q2LOavXt
>>706
Perl

https://paiza.io/projects/g2tBzJeNk0M_FJZMylBjuA

ワンライナーにもできるが、今回はこれで。

709デフォルトの名無しさん2018/08/10(金) 18:25:42.14ID:q2LOavXt

710デフォルトの名無しさん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

711デフォルトの名無しさん2018/08/10(金) 18:40:53.56ID:splKqZqj

7127092018/08/10(金) 19:22:50.97ID:q2LOavXt
>>711
あ、そうか。その方が簡単だな。

713 ◆QZaw55cn4c 2018/08/10(金) 23:01:27.70ID:H9lF8aPc
お題:10兆までの素数のリストを作ってみませんか?
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

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++;
}

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

717デフォルトの名無しさん2018/08/11(土) 07:04:06.66ID:N9ICkOCi
>>713
昔やった
アセンブラ & AVX & マルチスレッド
探してみる

718デフォルトの名無しさん2018/08/11(土) 07:37:04.51ID:N9ICkOCi
みつかりました
そんなに昔じゃなかった
2年半前
41兆くらいまで求めてます

マルチスレッドではありませんでした
処理内容はよく覚えていません

素数表作成
ビットパターン作成
ふるい

のようなコメントがあります

105単位でなにかやってます

719デフォルトの名無しさん2018/08/11(土) 09:37:18.90ID:y6G1YdWM
だんだん思い出してきました
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等以上に当選となります

722デフォルトの名無しさん2018/08/12(日) 14:21:49.33ID:ZHEExUj+
>>721
・5等の当選条件を満たしている
・5等以上のいずれかの当選条件を満たしている
この2つは同値なの?

723デフォルトの名無しさん2018/08/12(日) 14:57:56.60ID:1gNSypiF
>>722
それを聞いてどうするの?

724デフォルトの名無しさん2018/08/12(日) 15:09:35.79ID:ZHEExUj+
>>723
1~5等に該当するならば必ず当選番号と同じ数字が少なくとも3つ入っているということがはっきりしない限り解けないでしょ

725デフォルトの名無しさん2018/08/12(日) 15:11:11.96ID:ZHEExUj+
ごめん
申込数字6個のうち3個以上が本数字と一致すれば5等以上に当選となります

申込数字6個のうち3個以上が本数字と一致すれば5等に当選となります
と読み間違えてたわ

726デフォルトの名無しさん2018/08/12(日) 15:14:32.85ID:1gNSypiF
>>722>>724の質問内容が違う件

727デフォルトの名無しさん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:1gNSypiF
>>727
>>722>>721とは無関係だが
>>724は(>>721の解釈次第では)無関係ではない

730デフォルトの名無しさん2018/08/12(日) 15:29:22.68ID:1gNSypiF
>>724
3個以上一致 <===> 5等以上に当選
3個以上一致 ====> 5等以上に当選
のどちらかをたずねたのかと思った

731デフォルトの名無しさん2018/08/12(日) 15:39:13.61ID:ZHEExUj+
>>730
そもそもこっちが>>722>>724で「申込数字6個のうち3個ちょうど本数字と一致すれば5等に当選」って誤解してたのが始まりなんだ
わけわかんないこと言ってごめんね

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 "

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

734デフォルトの名無しさん2018/08/12(日) 21:48:09.01ID:cX8lnXZC
>>721 C++
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:YPN3vVTA
>>734
>>721って、
・抽選される6個の数字が43C6通りのどの組み合わせでも5等以上が当たるようにくじを買う。
・くじの購入数はできるだけ少なくなるようにする。
ってことじゃないのん?

737デフォルトの名無しさん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+TJcGX
>>735
いいのかこんなんで?

cd /etc
grep localhost hosts

740デフォルトの名無しさん2018/08/13(月) 09:43:58.01ID:ux+ef9t8
>> 699 Ruby
実数、逆関数
https://ideone.com/lflSc0

741デフォルトの名無しさん2018/08/13(月) 15:57:52.91ID:LVcLEl+f
>>735
訂正
お題:LANに繋がっているホストの一覧を出力しなさい

742デフォルトの名無しさん2018/08/13(月) 16:34:44.91ID:z6+TJcGX
>>741
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

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

746デフォルトの名無しさん2018/08/17(金) 17:20:36.25ID:6wrElEJt

747デフォルトの名無しさん2018/08/17(金) 19:23:09.62ID:N93NyTwd
>>746
67Bまで縮めてみた
C
https://ideone.com/ivxfS2

748デフォルトの名無しさん2018/08/17(金) 21:08:30.56ID:7hC1UKUq
>>744
Perl
https://paiza.io/projects/4DM4_8fx_EiOXO4D3aOV4A

普通ならダブルクォーテーション使いそうな箇所で qq() 使ってクォートしている理由は今Androidのタブレット使っててうまく入力出来なかったため。

749デフォルトの名無しさん2018/08/17(金) 23:22:41.44ID:eWaVkn5S
>>745
Python3で66バイト
https://ideone.com/qWiKey

750デフォルトの名無しさん2018/08/18(土) 02:50:37.57ID:K3y6E3T8
鈴木貫太郎
灘中



6桁の整数、ABCDEF の一番上の位のAを、
一の位へ移動した数、BCDEFA が、元の数の3倍になるとき、
この条件を満たす、元の数をすべて(2つ)答えよ

ヒント。x = BCDEF とおいて考える

答え、142857, 285714

751 ◆QZaw55cn4c 2018/08/18(土) 07:04:47.65ID:/9y7PjMS
>>750
n/7 循環列問題ですか…

752デフォルトの名無しさん2018/08/18(土) 15:32:13.56ID:h7OdrOPI
>>744
Ruby 43 bytes
#!ruby -pa
$_='%.2f'%eval('1e4/'+$F*'**2*')

>>750
3 * ABCDEF = BCDEFA ∧ A != 0
<=> 42857 * A = BCDEF ∧ A != 0
<=> 42857 * A = BCDEF ∧ A = 1, 2
<=> ABCDEF = 142857, 285714

753デフォルトの名無しさん2018/08/19(日) 01:16:27.70ID:tX8wxXbT
>>750 C(ただの力技)
https://ideone.com/MljBH1

754デフォルトの名無しさん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

755デフォルトの名無しさん2018/08/19(日) 03:52:23.20ID:FQWxbBlW
>>750
Kotlin
https://paiza.io/projects/BFd9v2qeKaNcdssTQuj5Jw

これも力業だな。ただループして調べているだけ。
尚、最上位桁が0の場合も含めると0も該当する値になる。

756デフォルトの名無しさん2018/08/19(日) 04:55:18.29ID:FQWxbBlW

757デフォルトの名無しさん2018/08/20(月) 02:30:06.13ID:V9a8ZDkH

758UNIXプログラミング質問スレより2018/08/21(火) 03:04:43.91ID:34Jmks75
お題:【構造のあるテキストの処理】各項目の内容をそれぞれソートして元のテキストに埋め込め。
====== 標準入力 ==========
* Fruit
apple
banana
orange
banana

* Animal
dog
cat
penguin

====== 標準出力 ==========
* Fruit
apple
banana
orange

* Animal
cat
dog
penguin

条件:ソートには外部コマンドを用いること。

7597582018/08/21(火) 03:11:53.68ID:34Jmks75
ソートに外部コマンドを使うのは、テキストの処理を取り替える拡張を想定しています。
例えば 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 * $/

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 * $/

762デフォルトの名無しさん2018/08/22(水) 01:46:46.02ID:wb9Zg9xS
>>758
Perl
https://paiza.io/projects/8vYRslCsu29ZvqFXGkZC7A

項目の区切りは連続した2つの改行になってます。

763デフォルトの名無しさん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区切りでチャンク分け。構造がもっと複雑になるとこの方針では対応できない。

764デフォルトの名無しさん2018/08/22(水) 03:09:32.13ID:wb9Zg9xS

765デフォルトの名無しさん2018/08/22(水) 04:46:03.18ID:h82tfzI1
単純に、別々のファイルに、分割すれば良いのでは?

* Fruit のファイル
* Animal のファイル

各ファイルを、sort, unique する

7667652018/08/22(水) 05:05:39.72ID:h82tfzI1
一旦、別々のファイルにしたなら、PowerShell で、

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の実行環境があるというのも理由かも。こういう所で公開するのには都合が良い。

770デフォルトの名無しさん2018/08/22(水) 12:27:54.30ID:AfGRGNs6
>>769
そうなんですね!
みんなの回答見てると正規表現や少ないコードや難しい表現でコーディングできてて関心します‥
自分にはとても到達出来ない‥

771デフォルトの名無しさん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'' がイマイチだ。

なるほど、構造のあるデータはむしろファイル階層として表現したほうが自然か…

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
$

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
外部コマンドを切り替えるという抽象的な処理を、処理間にはさむのは難しい。
すべての処理の冒頭か最後で、一括でフィルターする方がバグらない

774デフォルトの名無しさん2018/08/23(木) 00:19:08.54ID:FMBOl46f
>>773
なるほど…
Powershellでの完全な回答例を見せていただけませんか?
標準入力からファイルに落として出力に吐くまで。オブジェクト渡しの雰囲気を感じたいです。

7757652018/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 として、各ファイルを処理した

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点までの距離

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:qtSNV1ih
>>776
点が10個あるなら例1,2両方とも判断不能。どっちもあと最低7個必要
しかも直線がRなのかR∪∞∪-∞なのかで解が変わるから提示しろ
あと出力はともかくデータの与えられ方くらい提示しろ

7817652018/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か所で呼ぶのが、ダサイ

782デフォルトの名無しさん2018/08/25(土) 17:43:06.40ID:nE7N9dPk
お題
将棋の初期状態の駒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:yggGxXGy
>>782
有名な作品がいくつかあるね
全て同じ方向を向いたヤツも

>>783
全ての組み合わせを数えた人がいるの?

787デフォルトの名無しさん2018/08/26(日) 08:39:25.15ID:8NHhsyIb
トランプの配置についてのアルゴリズムを考えてます。
トランプの横幅をX
トランプの高さをYとし
並べるトランプは偶数枚
全てのトランプを配置した時の全体を、トランプ配置と呼ぶとして
トランプ配置の横幅と縦幅の割合を、おおよそX:Yとしたい

この場合、アルゴリズムはどう考えたらいいでしょうか?

788デフォルトの名無しさん2018/08/26(日) 09:35:40.65ID:/JFPzkHn
ゴリ押しの総当たり

並べる枚数横にx縦にyが無尽蔵に大きくなれば比率に近づく
並べるトランプの上限が決まって無くて偶数枚だけが条件なら延々と並べる枚数を増やせばいい
一兆枚くらい並べれば比率はX/Yに近づく
1000000000億兆枚くらいのトランプを使えば横幅X高さYなんて充分に蟲出来るから全体の割合を調整するのは枚数が多ければ多いほどラク
10那由多ほど並べれば、本当にカードは点くらいなもので、縦横比率はx、yの枚数だけで決まる

789デフォルトの名無しさん2018/08/26(日) 09:52:42.49ID:O9adGcKd
>>787
おおよそとかいまいちよくわからん
例を示して

790デフォルトの名無しさん2018/08/26(日) 09:59:10.89ID:O9adGcKd
>>788
バカなの?
> 並べるトランプの上限が決まって無くて偶数枚だけが条件
なら、縦横2枚ずつ(計4枚)並べればいいだけ

791デフォルトの名無しさん2018/08/26(日) 11:08:57.34ID:MXsSoN4T
n枚をnX nYの長方形の対角線上に斜めにならべれば
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| が最小になる組み合わせを求めるだけでしょ?

795 ◆QZaw55cn4c 2018/08/26(日) 23:44:29.53ID:TLwXHnMN
http://2chb.net/r/tech/1480579110/981
に引き続いて、現に困ってしまった問題を出題

windows コマンドラインの xcopy コマンドを実装せよ
コマンドラインから「xcopy パス1 パス2」 と入力すると
パス1 以下にあるファイルをすべてパス2以下にコピーするようにせよ
ディレクトリについては、再帰的にコピーせよ

・現実の xcopy コマンドには色々なオプションがあるが、それは実装しなくてもよい
・読み込み対象のファイルの属性については考慮しなくてよい、読み込めるファイルのみ所定のパスにコピーできればそれでよい
・その他、コピーに問題のある状態が発生したときには、標準エラー出力にエラー内容を表示すればそれでいい

Windows Update の度にPCが激遅になるのに堪えかねて、C ドライブを SSD に換えることにしました。OS は再度インストールしなおすつもりです。
現在の C ドライブの内容は別途コピーしておいて、困ったときには参照できるようにしたいと思いました。
ところが、「xcopy c: x:/tmp」とすると、「メモリーが足りなくなった」といって途中で止まるのです…困りました…

796 ◆QZaw55cn4c 2018/08/26(日) 23:57:13.93ID:TLwXHnMN
>>795
条件を追加します
ハードリンクやシンボリックリンクは考えなくともよい
xcopy パス1 パス2
のパス2 がパス1 の下にある場合、実装がまずいと永遠にコピーし続ける困ったことになるが、それも考慮しなくてもよい
(今回やりたいことは、「xcopy c: x:/tmp」であるので、これが問題なく動けばそれでよい…)

797デフォルトの名無しさん2018/08/27(月) 00:30:49.02ID:FMLlc3nv
お金くれたら書くよ

798 ◆QZaw55cn4c 2018/08/27(月) 00:37:15.85ID:W4qvSHyH
>>797
ビットコインではいかがでしょう?

799デフォルトの名無しさん2018/08/27(月) 03:58:54.01ID:EFFRlxLO
>>795
https://qiita.com/himrox/items/3dc7dec2c0e584a78e3d
xcopy メモリで検索したらこんなページ出たがこれじゃあかんと?

800デフォルトの名無しさん2018/08/27(月) 10:42:11.16ID:ywsjsNTA
>>795
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にする問題だよ。おおよそらしいけど。

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:l2rfNjjd
>>802
トランプの横幅がYで高さがXでしょ?
で、偶数枚並べてX:Yにするんでしょ?
4枚でなるじゃん。およそどころかぴったりX:Yに。

806デフォルトの名無しさん2018/08/27(月) 21:41:44.66ID:l2rfNjjd
ごめん。逆か。まあしかしわかるよね。

807 ◆QZaw55cn4c 2018/08/28(火) 00:09:17.09ID:mZeP8xuo
>>795-796
http://2chb.net/r/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:LPHHle1d

809デフォルトの名無しさん2018/08/28(火) 00:26:01.26ID:04IHxsB7
>>807
そろそろ適切なスレに移動したら?

810 ◆QZaw55cn4c 2018/08/28(火) 00:29:32.20ID:mZeP8xuo
>>809
>適切なスレ
って、あなたはどこを想定しているのですか?

811デフォルトの名無しさん2018/08/28(火) 02:44:52.27ID:Z7hOIgIF
スレタイも読めないのかこいつは・・・

812デフォルトの名無しさん2018/08/28(火) 10:27:46.88ID:QGrjhPlD
>>805
流石に与えられた枚数は全て使うだろ
アスペかよw

813デフォルトの名無しさん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:QGrjhPlD
>>816
ぱっと見て
カードの数nとカードの縦と横の長さx, yが与えられたときに
総てのカードを並べて作った矩形の縦と横の長さをX, Yとして
|X/Y - x/y|が最小になるような(X, Y)を求める問題かと思ったんだけど
というか>>787は言葉足らず過ぎるしアスペ云々は言い過ぎだったわすまん

818デフォルトの名無しさん2018/08/28(火) 23:15:02.28ID:Gymzh0gE
n枚を矩形になるように並べる
なんてことは書いてないけど

あと
『|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|の最小値を求めるべきだね

820デフォルトの名無しさん2018/08/29(水) 08:01:13.69ID:cDvJjkNL
>>819 前半
どんな形に並べても縦と横の方向が決まっていれば縦幅と横幅はある

>>819 後半
さらにセンスが無い

821デフォルトの名無しさん2018/08/29(水) 08:06:49.08ID:e0sa1Xvi
>>820
『どんな形に並べても縦と横の方向が決まっていれば縦幅と横幅はある』
これは偽
少しは検討してから書き込んだらどうなんだ

後半が理解できないなら「テンソル」で調べてね

822デフォルトの名無しさん2018/08/29(水) 08:18:18.70ID:cDvJjkNL
横方向をx軸、縦方向をy軸としたx, 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:e0sa1Xvi
>>830
ちげーよ、出題者ならまともな条件追加してるわw
自分では何も提示しないのに難癖つけてくるアホがうざったいだけ

833デフォルトの名無しさん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:V4Xw96gq
>>787

並べるのが矩形に限らないのであれば
>>791のとおり任意の枚数で可能

矩形に並べるとして
枚数が与えられないなら>>792のとおり4枚で可能

与えられるなら>>794のとおり
与えられた自然数を最も僅差の2つの自然数の積で表す問題と同値
ただこの場合、問題文の不備を不問にしても
>並べるトランプは偶数枚
って条件がなぜ必要になるのか疑問が残るが…

いずれにしても問題としては終わってるので
これ以上長引かせるのは不毛

837デフォルトの名無しさん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:qgZ9UxCP
>>831
Kotlin
https://paiza.io/projects/R255MQByNDBUFUfADcsP5w

スペース入れただけなんだけど、これでいいのかな?

845デフォルトの名無しさん2018/08/30(木) 19:45:18.01ID:PhGGZV18
>>844
OKです

846デフォルトの名無しさん2018/08/31(金) 20:49:23.29ID:QC9x0InA
>>247
java
pastebin,com/7cnjtkNG

847デフォルトの名無しさん2018/08/31(金) 21:01:15.01ID:QC9x0InA
>>846
変数宣言を増やせばいくらでも行けるけどこれが限界かも
リフレクションはやっぱりクソだな

848デフォルトの名無しさん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 "

849デフォルトの名無しさん2018/08/31(金) 23:18:37.32ID:hdwU5T2H
自然数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:DlN6jaxu
>>849じゃないけど

_はΣの下
^はΣの上

テキスト限定でのよくある表記

853デフォルトの名無しさん2018/09/01(土) 12:14:11.54ID:9UhZQst+
数学板でお題スレ立てようかと思ったらすでに似たようなスレがあった

面白い問題おしえて~な 27問目
http://2chb.net/r/math/1532793672/

854 ◆QZaw55cn4c 2018/09/02(日) 01:44:20.01ID:oSO4LvdH

855デフォルトの名無しさん2018/09/02(日) 04:36:43.72ID:4Jf6YH6e
>>852
そういう意味だとすると>>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

857デフォルトの名無しさん2018/09/02(日) 11:43:51.21ID:/9nCrt4M
>>849は数学オリンピックのマスターデーモンだな
答えはn=0, 1のみ

858デフォルトの名無しさん2018/09/02(日) 16:00:22.41ID:4Jf6YH6e
ごめん。>>855は3倍するのを忘れていた。

859デフォルトの名無しさん2018/09/02(日) 17:40:51.50ID:4Jf6YH6e
>>855
Forkして3倍にするの入れてみたけど大差ない・・・
https://paiza.io/projects/IZQxz8kWTqR-Fw04EN9o1w

860デフォルトの名無しさん2018/09/02(日) 17:46:26.05ID:4Jf6YH6e
>>857
あれ?そうなの?
じゃあプログラム何か間違ってんのかなあ?

861デフォルトの名無しさん2018/09/02(日) 18:31:32.88ID:jaQJTA9z
>>860
double型の精度の問題
計算結果は指数関数が支配しているからnが大きくなると有効桁数が足りなくなる

862デフォルトの名無しさん2018/09/02(日) 18:47:50.05ID:4Jf6YH6e
>>861
なるほど。とすると32以上はもうダメな値ってことだな。
かといってBigDecimalとか使って延々と計算しても意味ないな。
数学的に答え出てるし。

863デフォルトの名無しさん2018/09/05(水) 09:52:56.23ID:lHAOj/Nm
プログラミングならここからだな

https://site.moshimo.com/rhino/0002.html

864デフォルトの名無しさん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個ランダムで選ぶことができるもの

1.2.5.6.16.18.20.21.23.28.30.33.39.4047.49.50の選択した数字中から10個ランダムで選ぶことができるもの

①と②で挙げた数字は適当ですが場合によっては①で除外した数字や②の選択した数字は変えたいです

このような場合自分でプログラミングしないといけないのでしょうか?

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.

"②"
#(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個ランダムで選ぶ乱数ツール使えばいいだけなのに質問者が謎

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!      彡、  `Ⅶエ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://2chb.net/r/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:KW6FAnPg
>>871
>>873
実はこいつがなんJでスレ建てたんやで
>>868
は被害者や

890デフォルトの名無しさん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:UPePJlkV
>>895
キターーー😁
本物ですわ😏

897デフォルトの名無しさん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でしょうもないプログラミングの質問した人がいたってことか?

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:yaYW83OX
>>871が建てたのはこれかw
http://tomcat.2ch.s c/test/read.cgi/livejupiter/1536469396/

904デフォルトの名無しさん2018/09/09(日) 16:20:59.20ID:yaYW83OX
で元のレスがこれか
http://2chb.net/r/tech/1526606537/893

905デフォルトの名無しさん2018/09/09(日) 17:03:05.57ID:na1duSUN
>>903
立ててないぞ
人になすりつけるな

906デフォルトの名無しさん2018/09/09(日) 17:12:29.21ID:3HCWUffr
>>900でなんjをハンjと打ち間違える時点で通報騒動知ってるやつやん
>>872で自分に都合の悪いレスつくと本人認定するような奴だしなんでもかんでも人のせいにしてきたんだろうな

907デフォルトの名無しさん2018/09/09(日) 17:20:33.91ID:yaYW83OX
あ、これ俺に成りすまして他板でクソスレ立てて人をこっちに呼び込んでんのね
今理解したわ
このスレの住人なら>>870-871程度のことで他の板にスレ立てるわけないってわかってもらえると思うけど
荒れると嫌なんでしばらくROMりますわ

908デフォルトの名無しさん2018/09/09(日) 17:27:07.85ID:3HCWUffr
>>907
今理解したわとか嘘だろ
>>903>>871が建てたと認定してる時点でお前はとっくにわかってただろ

909デフォルトの名無しさん2018/09/09(日) 17:44:29.85ID:C8FWMbW9
単発ばっかだし質問を小馬鹿にされた質問者が自演で荒らしてんだろ
いちいち反応すんなkz

910デフォルトの名無しさん2018/09/10(月) 21:43:55.78ID:YbX1NAV1
>>909
kzとかいつの時代やねん
お前はミスターアンモナイトかwwwww

911デフォルトの名無しさん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

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}} のことを言うよ

問題を解く上で数学的な要素は無いから数学の言葉を使わないで出題すべきだった

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' "

915デフォルトの名無しさん2018/09/11(火) 18:58:42.97ID:RXZvWAlK
>>913
それは良いとしても>>911の問題における同値類とはなんなのか?

例として出されているのは入力が動物の名前のようで、出力は重複をなくした上で大まかな種類ごとに分類されているようではある。
しかしこのそれぞれの分類は一体いかなる基準によって同じと判別したのか?

もしこれが単語の意味、およびそれの分類(動物なら四つ足だとか哺乳類だとか)によって分けなければならないとすると、単語の意味やその分類がプログラムの側でわかっていなければならない。
しかも入力にはどんな単語が来るかわからないというのであれば辞書並みの単語数に関してそれを保持していなければまともに分類できない。

916デフォルトの名無しさん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 を表している

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' "

921デフォルトの名無しさん2018/09/11(火) 22:32:02.08ID:srQbLx59
>>917
「それぞれの元を辞書順にソートした上で」
これは間違いってことね。

922デフォルトの名無しさん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

924デフォルトの名無しさん2018/09/12(水) 10:35:33.91ID:0dikQX95
>>923
その実装だと仮に squid lark のペアが末尾に追加されたとき
すでにある goldfish squid がキャンセルされちゃうけど?

https://ideone.com/sbA9P5

925デフォルトの名無しさん2018/09/12(水) 11:17:32.60ID:FM7FP8m6
>>924
指摘ありがと 確かにまずかった

https://ideone.com/gbKlMH

926デフォルトの名無しさん2018/09/13(木) 02:06:53.72ID:Pm51LGwI

927デフォルトの名無しさん2018/09/13(木) 08:17:03.84ID:EC7Fu/Zv
>>926
よーわからんがペアの両方が既知の場合のマージ処理が抜けてない?
A B
C D
A C
の場合とか

928デフォルトの名無しさん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;

930デフォルトの名無しさん2018/09/13(木) 11:37:05.45ID:HHLUVU7a
>>929
これもマージ処理>>927が抜けてない?

https://ideone.com/NAvn2f

931デフォルトの名無しさん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

じゃろ?

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;

934デフォルトの名無しさん2018/09/13(木) 20:39:52.56ID:0RheZyur
>>932
あー。なるほど。そういうことか。
また考えよう。

935デフォルトの名無しさん2018/09/14(金) 03:38:24.35ID:SYmkUqRw
>>927
>>926は修正した。(URL同じ)

936デフォルトの名無しさん2018/09/14(金) 04:53:58.08ID:Z6RVr7Qr
>>935
差し支えなければ修正前のコードも別URLで再掲載してもらえますか?
あるいは公開バージョンの履歴や差分を参照する機能がpaoza.ioにあったら教えてください

くしくもマージを考慮「しない版」と「する版」が出揃ったのでどういう修正で対処したか調べると
それぞれの言語の(あるいはアルゴリズムの)特徴が際立って面白いのではないかなぁとふと思ったので

937デフォルトの名無しさん2018/09/14(金) 08:32:54.25ID:SYmkUqRw
>>936
すまん。前の版はもうない。paiza.ioはそういう機能はない。
思い出して時間があったらなんとかする。

938デフォルトの名無しさん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:9KWktx64
>>936
>>932>>926の古いコードのコピペ

941デフォルトの名無しさん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/
>>945
訂正。Rubyで。
https://ideone.com/er8XUC

947デフォルトの名無しさん2018/09/15(土) 18:55:39.79ID:Q0ygbCVz
>>946 とは別の戦略。
Rubyで。
https://ideone.com/osABKT

948デフォルトの名無しさん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:qJ8HI8bW
>>911
Rubyで。ソート、コメント付き。
https://ideone.com/9RyjEF

951デフォルトの名無しさん2018/09/18(火) 20:26:30.74ID:iTEamDZZ
https://www.rco.recruit.co.jp/career/engineer/entry/

この問題どうですか?

自分でも書いてみたのですが合ってるかちょっと分かりません
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:pHq1DkBS
>>955
アウトになる条件は、「エントリー後メールにて送付されるコーディング試験問題は、当社への応募以外の目的で無断使用しない」…①
だが、>>951 のリンクの問題は「エントリー後メールにて送付されるコーディング試験問題」ではないから①に反しない…②
さらに、無条件に誰でも見ることのできる問題であること…③
②よりアウトではないと断定できるし、③が②の結論を補強する
結論として、>>951 のリンクの問題を公開しても問題ない

>>955 「アウトかセーフかわからない」という結論にどういう道筋で到達したの?

957デフォルトの名無しさん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 (必ずしも最短経路である必要はない)

958デフォルトの名無しさん2018/09/19(水) 19:51:24.03ID:WMjcSrAA
>ひとつ前のパネルや場外に移動することはできない

全部踏めばいいんだからライツアウトの解法の亜種で解けるんじゃねえの

959デフォルトの名無しさん2018/09/19(水) 19:59:02.78ID:ZUIw2oHI
状態を変えずに任意の場所まで移動できるなら
6箇所だけそれぞれ1つだけRだった場合を計算してあとは回転なりなんなりして重ね合わせればいけるな

960デフォルトの名無しさん2018/09/19(水) 20:34:03.00ID:WMjcSrAA

□□□
□□□→

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秒程度で作れる
もちろん解くのは面倒

964デフォルトの名無しさん2018/09/20(木) 01:27:25.92ID:B4lxWLis
>>957
手でしか試してないけど
解けないパターンとかありそうな予感
プログラミングのお題スレ Part11 	YouTube動画>3本 ->画像>3枚

965デフォルトの名無しさん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 の場合以外は任意のパターンで解があることになる

967デフォルトの名無しさん2018/09/20(木) 23:43:04.82ID:uzQ90Fqy
RWWWR
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

9699572018/09/22(土) 13:39:38.33ID:EQZKU8B1
最適解ではないが、人間にも実行可能なアルゴリズムを考えた
上のラインから順番に確定させていく感じ
https://ideone.com/nUgNh3

970デフォルトの名無しさん2018/09/23(日) 05:22:08.89ID:QL0eQEru
解法全然分からないけど
枝狩りもメモ化もせず愚直に全探索すると44手目で10760814742109228通りになるのか…ヤバイな
http://codepad.org/JXkGjMKb

971デフォルトの名無しさん2018/09/23(日) 06:45:48.27ID:QL0eQEru
>>970
メモ化のみの全探索でも厳しいね
https://ideone.com/TpZyFM

972デフォルトの名無しさん2018/09/23(日) 07:02:07.82ID:QL0eQEru
>>962の理屈上なら>>971のstepの累積和が3,355,443,200(=25<<27)になった時点で全通り出たことになって最短の上限になるのかな?

973デフォルトの名無しさん2018/09/23(日) 10:53:27.77ID:daMeAE67
プログラミングのお題スレ Part11 	YouTube動画>3本 ->画像>3枚
連続殺人犯が全ての目撃者を消して完全犯罪を目論む

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)

975デフォルトの名無しさん2018/09/23(日) 12:41:57.26ID:A0stA7Ax
>>974
それって「s(i)=t(i)となるiが1つ以上存在するか」というだけのように思えるけど、違うかな?

976デフォルトの名無しさん2018/09/23(日) 12:42:44.79ID:A0stA7Ax
>>975は勘違いでした。取り消します

977デフォルトの名無しさん2018/09/23(日) 13:27:09.60ID:yBlaBAG2
>>975
最初全く同じこと思ったわw
でもこれって十分条件に過ぎないんだな

a ab
bc c
s(1)s(2) = t(1)t(2) = 'abc'

978デフォルトの名無しさん2018/09/23(日) 17:12:26.93ID:daMeAE67
応用だけは思い付いた

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って事になりそう

982デフォルトの名無しさん2018/09/24(月) 15:56:26.13ID:IwP3sRIS
>>981
結果じゃなくて入力に

一つも選ばないのがOKならそもそも問題として成立しないだろ

983デフォルトの名無しさん2018/09/24(月) 16:14:35.67ID:twjLvrgB
>>974
Kotlin
但し、重複選択は考慮していない。
https://paiza.io/projects/iRHJjFRj9BJIydX10SIn0Q

984デフォルトの名無しさん2018/09/24(月) 19:57:46.70ID:6VO2RDhD
>>969
ルール合ってるのかどうか知らないけど
ゲーム風にしてみた (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はある
どういう作り方すればいいかわからない教えてください個人用に使う

987デフォルトの名無しさん2018/09/25(火) 02:12:07.33ID:JXqOIinx
ここはそういうスレではないよ

988デフォルトの名無しさん2018/09/25(火) 02:40:25.79ID:VjhU4mZC
>>986
このスレはそういう質問するスレではなく、誰かがお題を出して回答したい人がプログラミングして回答するスレだ。

そういう質問はまずは既存のソフトでそういうことが出来るのがないか以下のスレで聞いた方が良いと思う。

気軽に「こんなソフトありませんか?」Part.176
http://2chb.net/r/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:phwOkayR
次スレ
プログラミングのお題スレ Part12
http://2chb.net/r/tech/1538096947/

993デフォルトの名無しさん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/
うめ


lud20200705055841ca
このスレへの固定リンク: http://5chb.net/r/tech/1524570314/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  
このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ



全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「プログラミングのお題スレ Part11 YouTube動画>3本 ->画像>3枚 」を見た人も見ています:
プログラミングのお題スレ Part9
プログラミングのお題スレ Part15
プログラミングのお題スレ Part13
プログラミングのお題スレ Part8
プログラミングのお題スレ Part22
プログラミングのお題スレ Part18
プログラミングのお題スレ Part19 (971)
プログラミングのお題スレ
プログラミング言語 Kuin Part 16#01
関数型プログラミング言語Haskell Part30
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
WPF(.NET4.x, .NET Core) GUIプログラミング Part24
プログラミング詐欺?情報商材屋マナブ(ねずみ男・アル中)ってどうよ? Part2
関数型プログラミング言語Haskell Part31
WPF(.NET, WinUI) GUIプログラミング Part30
WPF(.NET, WinUI) GUIプログラミング Part29
WPF(.NET4.x, .NET Core) GUIプログラミング Part25
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part19
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21 [無断転載禁止]
【プログラミング商材12万】情報商材屋マナブってどうよ? Part5【ブログ商材2万】
ネットワークプログラミング相談室 Port30
今日のプログラミングスレ
安価でプログラミングの教科書を作るスレ
ヒッキーの競技プログラミングするスレ 2完
プログラミング義務教育の全容について考えるスレ
【アラビア】RTLプログラミング【ヘブライ】
Androidプログラミング質問スレ revision53
競技プログラミングにハマるプログラマのスレ 16
ネットワークプログラミング相談室 Port27
競技プログラミングにハマるプログラマのスレ 9
競技プログラミングにハマるプログラマのスレ 20
NHK総合を常に実況し続けるスレ 145682 プログラミング
WPF(.NET, WinUI) GUIプログラミング Part33 (775)
【悲報】新MacBook、DockerもVirtualBoxも使えないプログラミングに向かないゴミだった……FANZA用か?
競技プログラミング総合スレ 64
競技プログラミング総合スレ 63
競技プログラミングにハマるプログラマのスレ 5 [無断転載禁止]
Androidプログラミング質問スレ revision51 [無断転載禁止]
プログラミング学習サイトについて語るスレ
競技プログラミングにハマるプログラマのスレ 2 [無断転載禁止]
競技プログラミングにハマるプログラマのスレ
悪徳プログラミングスクール・悪徳教材屋観察スレ
競技プログラミングにハマるプログラマのスレ 52
競技プログラミングにハマるプログラマのスレ 95
競技プログラミングにハマるプログラマのスレ 71
競技プログラミングにハマるプログラマのスレ 85
競技プログラミングにハマるプログラマのスレ 94
競技プログラミングにハマるプログラマのスレ 112
競技プログラミングにハマるプログラマのスレ 110
休みだから初心者が1日中プログラミングの勉強するスレ [無断転載禁止]
動画プログラミング
プログラミング始めたいんだが
プログラミングやってみたいんやが
C#とかいう欠陥プログラミング言語
プログラミング分かる奴ちょっと来て
プログラミングに自信ニキ来て
0からプログラミング始めたい
サウンドプログラミング6
プログラミング初心者なんだが
プログラミング言語 Rust 4
趣味でプログラミングやってみたいんだけど
22:11:23 up 62 days, 23:10, 0 users, load average: 9.34, 9.00, 9.34

in 0.036203861236572 sec @0.036203861236572@0b7 on 061911