プログラミングのお題スレ Part13
at TECH
[前50を表示]
850:デフォルトの名無しさん
19/04/21 14:45:56.49 /+hkU7cH.net
やっぱ頭腐ってるな。
851:デフォルトの名無しさん
19/04/24 20:43:26.25 NALZs80Z.net
お題: 日本語の文章の句読点を , や . に置き換える。
ただし、, や . の直後には半角のスペースを置き、さらに改行の手前や文末のスペースは削除すること。
例:
In < これは、日本語の文章です。ふひひ。
Out > これは, 日本語の文章です. ふひひ.
852:デフォルトの名無しさん
19/04/24 20:50:03.68 WcGowxU3.net
しょうもな
853:デフォルトの名無しさん
19/04/24 20:51:59.82 Y8OSWYHv.net
文末のスペースが消えてないやん
どっちやねん
854:デフォルトの名無しさん
19/04/24 20:52:14.50 NALZs80Z.net
お題: 簡易なテーブルを綺麗に整形する
余力があればカラムの左揃え、右揃えをオプションで選択できるようにする(出力は中央揃え)
入力:
a|aaaaa|bb
ccc|ddd|ee
出力:
**a***|*aaaaa*|***bb*
------+-------+------
*ccc**|**ddd**|***ee*
855:デフォルトの名無しさん
19/04/24 20:54:35.53 NALZs80Z.net
>>836
×(出力は中央揃え)
〇(例は中央揃え)
856:デフォルトの名無しさん
19/04/24 21:01:38.43 Y8OSWYHv.net
bとeが中央じゃなくね
857:デフォルトの名無しさん
19/04/24 21:05:36.09 NALZs80Z.net
>>838
例に使ったスクリプトがバグってた
858:デフォルトの名無しさん
19/04/24 22:36:14.15 lwqMqFKi.net
左のaとcもおかしい
859:デフォルトの名無しさん
19/04/24 23:50:33.64 NSCbK96M.net
各列の文字数は一致する必要があるのか
860:デフォルトの名無しさん
19/04/25 04:26:28.66 D6NtakiX.net
>>836
入出力のエンコードは?
ASCII以外はあるのか?
861:デフォルトの名無しさん
19/04/25 05:01:51.18 XVamjpPA.net
>>842
ASCIIのみで
862:デフォルトの名無しさん
19/04/25 07:44:22.82 XVamjpPA.net
>>839
いやバグってなかったわ
>>836
が正常
| の前後に*が一つ入るから
| の前後の*は入れても入れなくてもいいけど入れたほうが綺麗になるかもしれん
863:デフォルトの名無しさん
19/04/25 10:34:23.81 J1W60oTI.net
「綺麗」とか言うお気持ちワードが入るとダメだな
864:デフォルトの名無しさん
19/04/25 10:41:43.51 aGd2Nt87.net
「楽しいプログラミング」w
「美しく書ける」ww
865:デフォルトの名無しさん
19/04/25 12:39:16.14 J1W60oTI.net
何がキレイなのか定義出来ず言うことが主観でコロコロ変わる、マジで今の日本のサイコパス上司そのものだ
「オレの心情をさっしろ」みたいな屑がいいそうなこと
頭が悪いから定義が出来ないし自分の言ってることが支離滅裂になってる
曖昧な用語(綺麗)で押し通そうとする
コレ全部サイコパスの特徴
866:デフォルトの名無しさん
19/04/25 13:02:10.38 pYdb89HV.net
美を定義できる人間がいるなら会いたいものだ
867:デフォルトの名無しさん
19/04/25 13:47:48.74 BUlwZIC7.net
>>848
プラトンのスュンポスィオーンって本で定義されてたぞ
868:デフォルトの名無しさん
19/04/25 16:18:28.13 ThHN2jz5.net
美しいコードなんて求められてない。小学生でも知ってる。
URLリンク(tr.twipple.jp)
869:デフォルトの名無しさん
19/04/25 18:30:28.28 /IwwINNy.net
美しい半角カナ
870:デフォルトの名無しさん
19/04/25 18:35:37.23 /IwwINNy.net
>>850
変数に日本語が使えないとか書いてあるな。
Javaとか普通に使えるんだがな。
871:
19/04/25 20:27:10.98 6xUIrXDu.net
>>849
倉橋由美子のが面白かったと思っています
872:デフォルトの名無しさん
19/04/25 22:32:18.97 siWhi4pR.net
>>852
そんなに日本語使いたいならなでしこでも書いとけ
873:デフォルトの名無しさん
19/04/25 22:33:30.90 X6smEgNz.net
>>852 そんな大昔の話をするなよ。 今はPython3 なんだから日本語も使えるよ。
なな = 7
print(なな)
# 7
874:デフォルトの名無しさん
19/04/25 23:27:23.78 jZ4+eHeJ.net
今時C++とかでも普通に日本語識別子使えるだろ…
875:デフォルトの名無しさん
19/04/25 23:39:11.26 D6NtakiX.net
>>856
あ、そうなの?
知らなかった。
876:デフォルトの名無しさん
19/04/26 18:55:29.49 YRtkzMZR.net
>>836
Kotlin
URLリンク(paiza.io)
入力は1行目に 0, 1, 2 の何れかのオプションを指定する。
意味は 0=中央、1=左寄せ、2=右寄せ になっている。
2行目からは | 区切りで文字列を入れる。
空行またはファイルの終わりで表を出力する。
空行だった場合はまた次の表の最初のオプションから入れられる。
877:デフォルトの名無しさん
19/04/26 19:49:06.87 RVSBatxL.net
>>858
ほとぼりが冷めたと思ってんのか屑?
お前が>>844だろ
ID変わったからっていい気になんなよ
ゴミみたいな出力のまさにゴミだ
全然綺麗じゃない
878:853
19/04/27 04:31:22.65 dVFnhFQW.net
>>859
違うよ。俺はもっと上の方であみだくじのお題を出したやつだよ。
自分でもプログラム作るには作ったけど表示するところまでだな。
しかしブラウザの実行環境で表示すると罫線の幅の問題でずれるので画像で出力しようかと思っている。
これな。
URLリンク(paiza.io)
879:デフォルトの名無しさん
19/04/27 15:02:49.57 TtYrpMGa.net
お題:ジョブショップスケジューリングの問題です。
int job_param[JOBNUM][STP][2] = {
{{4, 342}, {1, 244}, {2, 351}, {3, 293}, {0, 342}}, // 1572
{{2, 306}, {4, 342}, {3, 386}, {1, 386}, {0, 413}}, // 1833
{{3, 168}, {0, 266}, {2, 182}, {1, 106}, {4, 368}}, // 1090
{{3, 368}, {2, 151}, {4, 284}, {0, 84}, {1, 164}}, // 1051
{{4, 240}, {1, 191}, {0, 351}, {3, 408}, {2, 275}}, // 1465
{{2, 342}, {3, 351}, {4, 191}, {0, 333}, {1, 426}}, // 1643
{{0, 93}, {1, 235}, {2, 422}, {3, 244}, {4, 151}}, // 1145
{{0, 75}, {4, 217}, {1, 111}, {3, 195}, {2, 435}}, // 1033
{{2, 173}, {4, 435}, {3, 186}, {1, 137}, {0, 53}}, // 984
{{1, 93}, {2, 231}, {4, 71}, {3, 115}, {0, 315}}}; // 825
880:デフォルトの名無しさん
19/04/27 16:10:46.35 nhVWQaIp.net
宿題は自分でやれ
881:デフォルトの名無しさん
19/04/27 16:24:49.19 VMurKVDA.net
まずジョブスケジューリングが何か説明してもらおう
882:デフォルトの名無しさん
19/04/27 17:28:59.65 PUfIYz8D.net
適当に詰めて行くプログラムで2928まではなった
h0 0-75 g0 75-168 c1 168-434 e2 434-785 j4 1002-1317 d3 1505-1589 f3 1696-2029 b4 2029-2442 a4 2442-2784 i4 2875-2928
j0 0-93 e1 240-431 h2 457-568 a1 799-1043 g1 1043-1278 c3 1385-1491 b3 1607-1993 d4 1993-2157 f4 2157-2583 i3 2738-2875
f0 0-342 j1 342-573 b0 573-879 i0 879-1052 d1 1052-1203 c2 1203-1385 a2 1385-1736 g2 1736-2158 e4 2158-2433 h4 2433-2868
c0 0-168 d0 168-536 f1 536-887 j3 887-1002 h3 1002-1197 b2 1221-1607 e3 1607-2015 a3 2015-2308 g3 2308-2552 i2 2552-2738
e0 0-240 h1 240-457 a0 457-799 j2 799-870 b1 879-1221 d2 1221-1505 f2 1505-1696 c4 1696-2064 i1 2064-2499 g4 2552-2703
883:デフォルトの名無しさん
19/04/27 17:44:35.53 PUfIYz8D.net
今2889になってたけどSegmentation faultで落ちてた
前回のやつでJOBNUMとかSTPとかをわざわざ直接5 5とか書いてて
今回どんなコードかもう忘れて片方を適当に10に直したからか元からバグがあったのか分からないけど
結果自体は間違ってなそうだと思うけど
884:818
19/04/27 18:03:52.53 63A0HxGX.net
>>823の(最適化していない)コード Java
URLリンク(ideone.com)
>>827
出したで
885:デフォルトの名無しさん
19/04/28 08:12:15.68 3xnz0I0C.net
>>861
COST_TIME: 2932
0 : ( 4, 457, 799), ( 1, 800, 1044), ( 2, 1275, 1626), ( 3, 2017, 2310), ( 0, 2417, 2759)
1 : ( 2, 573, 879), ( 4, 880, 1222), ( 3, 1223, 1609), ( 1, 1610, 1996), ( 0, 2004, 2417)
2 : ( 3, 0, 168), ( 0, 784, 1050), ( 2, 1093, 1275), ( 1, 1279, 1385), ( 4, 2389, 2757)
3 : ( 3, 168, 536), ( 2, 942, 1093), ( 4, 1586, 1870), ( 0, 1920, 2004), ( 1, 2473, 2637)
4 : ( 4, 0, 240), ( 1, 241, 432), ( 0, 433, 784), ( 3, 1609, 2017), ( 2, 2221, 2496)
5 : ( 2, 0, 342), ( 3, 536, 887), ( 4, 1395, 1586), ( 0, 1587, 1920), ( 1, 2047, 2473)
6 : ( 0, 75, 168), ( 1, 1044, 1279), ( 2, 1799, 2221), ( 3, 2310, 2554), ( 4, 2757, 2908)
7 : ( 0, 0, 75), ( 4, 240, 457), ( 1, 458, 569), ( 3, 892, 1087), ( 2, 2496, 2931)
8 : ( 2, 1626, 1799), ( 4, 1954, 2389), ( 3, 2554, 2740), ( 1, 2741, 2878), ( 0, 2879, 2932)
9 : ( 1, 0, 93), ( 2, 342, 573), ( 4, 799, 870), ( 3, 1087, 1202), ( 0, 1203, 1518)
MACHINE Schedule
0 : ( 7, 0, 75), ( 6, 75, 168), ( 4, 433, 784), ( 2, 784, 1050), ( 9, 1203, 1518), ( 5, 1587, 1920), ( 3, 1920, 2004), ( 1, 2004, 2417), ( 0, 2417, 2759), ( 8, 2879, 2932)
1 : ( 9, 0, 93), ( 4, 241, 432), ( 7, 458, 569), ( 0, 800, 1044), ( 6, 1044, 1279), ( 2, 1279, 1385), ( 1, 1610, 1996), ( 5, 2047, 2473), ( 3, 2473, 2637), ( 8, 2741, 2878)
2 : ( 5, 0, 342), ( 9, 342, 573), ( 1, 573, 879), ( 3, 942, 1093), ( 2, 1093, 1275), ( 0, 1275, 1626), ( 8, 1626, 1799), ( 6, 1799, 2221), ( 4, 2221, 2496), ( 7, 2496, 2931)
3 : ( 2, 0, 168), ( 3, 168, 536), ( 5, 536, 887), ( 7, 892, 1087), ( 9, 1087, 1202), ( 1, 1223, 1609), ( 4, 1609, 2017), ( 0, 2017, 2310), ( 6, 2310, 2554), ( 8, 2554, 2740)
4 : ( 4, 0, 240), ( 7, 240, 457), ( 0, 457, 799), ( 9, 799, 870), ( 1, 880, 1222), ( 5, 1395, 1586), ( 3, 1586, 1870), ( 8, 1954, 2389), ( 2, 2389, 2757), ( 6, 2757, 2908)
886:デフォルトの名無しさん
19/04/28 19:46:09.95 4L316qYF.net
COST_TIME: 2868
0 : ( 4, 457, 799), ( 1, 800, 1044), ( 2, 1212, 1563), ( 3, 2017, 2310), ( 0, 2410, 2752)
1 : ( 2, 573, 879), ( 4, 880, 1222), ( 3, 1223, 1609), ( 1, 1610, 1996), ( 0, 1997, 2410)
2 : ( 3, 0, 168), ( 0, 169, 435), ( 2, 1030, 1212), ( 1, 1213, 1319), ( 4, 2
887:326, 2694) 3 : ( 3, 168, 536), ( 2, 879, 1030), ( 4, 1523, 1807), ( 0, 1857, 1941), ( 1, 2703, 2867) 4 : ( 4, 0, 240), ( 1, 241, 432), ( 0, 435, 786), ( 3, 1609, 2017), ( 2, 2158, 2433) 5 : ( 2, 0, 342), ( 3, 536, 887), ( 4, 1332, 1523), ( 0, 1524, 1857), ( 1, 1996, 2422) 6 : ( 0, 75, 168), ( 1, 1319, 1554), ( 2, 1736, 2158), ( 3, 2310, 2554), ( 4, 2694, 2845) 7 : ( 0, 0, 75), ( 4, 240, 457), ( 1, 458, 569), ( 3, 887, 1082), ( 2, 2433, 2868) 8 : ( 2, 1563, 1736), ( 4, 1891, 2326), ( 3, 2379, 2565), ( 1, 2566, 2703), ( 0, 2752, 2805) 9 : ( 1, 0, 93), ( 2, 342, 573), ( 4, 799, 870), ( 3, 1082, 1197), ( 0, 1198, 1513) MACHINE Schedule 0 : ( 7, 0, 75), ( 6, 75, 168), ( 2, 169, 435), ( 4, 435, 786), ( 9, 1198, 1513), ( 5, 1524, 1857), ( 3, 1857, 1941), ( 1, 1997, 2410), ( 0, 2410, 2752), ( 8, 2752, 2805) 1 : ( 9, 0, 93), ( 4, 241, 432), ( 7, 458, 569), ( 0, 800, 1044), ( 2, 1213, 1319), ( 6, 1319, 1554), ( 1, 1610, 1996), ( 5, 1996, 2422), ( 8, 2566, 2703), ( 3, 2703, 2867) 2 : ( 5, 0, 342), ( 9, 342, 573), ( 1, 573, 879), ( 3, 879, 1030), ( 2, 1030, 1212), ( 0, 1212, 1563), ( 8, 1563, 1736), ( 6, 1736, 2158), ( 4, 2158, 2433), ( 7, 2433, 2868) 3 : ( 2, 0, 168), ( 3, 168, 536), ( 5, 536, 887), ( 7, 887, 1082), ( 9, 1082, 1197), ( 1, 1223, 1609), ( 4, 1609, 2017), ( 0, 2017, 2310), ( 6, 2310, 2554), ( 8, 2379, 2565) 4 : ( 4, 0, 240), ( 7, 240, 457), ( 0, 457, 799), ( 9, 799, 870), ( 1, 880, 1222), ( 5, 1332, 1523), ( 3, 1523, 1807), ( 8, 1891, 2326), ( 2, 2326, 2694), ( 6, 2694, 2845)
888:デフォルトの名無しさん
19/04/28 23:28:25.99 l2GeSHcv.net
>>868
3 : ( 2, 0, 168), ( 3, 168, 536), ( 5, 536, 887), ( 7, 887, 1082), ( 9, 1082, 1197), ( 1, 1223, 1609), ( 4, 1609, 2017), ( 0, 2017 , 2310), ( 6, 2310, 2554), ( 8, 2379, 2565)
( 6, 2310, 2554), ( 8, 2379, 2565)
ここが重複してるから間違ってる
889:デフォルトの名無しさん
19/04/29 05:34:40.52 8r4CfxJG.net
>>869
ご指摘ありがとうございます。
890:デフォルトの名無しさん
19/05/02 08:14:38.07 y6AdJjmd.net
お題:ジョブショップスケジューリングの問題です。
int job_param[JOBNUM][STP][2] = {
{{4, 100}, {1, 100}, {2, 100}, {3, 100}, {0, 100}}, // 500
{{2, 100}, {4, 100}, {3, 100}, {1, 100}, {0, 100}}, // 500
{{3, 100}, {0, 100}, {2, 100}, {1, 100}, {4, 100}}, // 500
{{3, 100}, {2, 100}, {4, 100}, {0, 100}, {1, 100}}, // 500
{{4, 100}, {1, 100}, {0, 100}, {3, 100}, {2, 100}}, // 500
{{2, 100}, {3, 100}, {4, 100}, {0, 100}, {1, 100}}, // 500
{{0, 100}, {1, 100}, {2, 100}, {3, 100}, {4, 100}}, // 500
{{0, 100}, {4, 100}, {1, 100}, {3, 100}, {2, 100}}, // 500
{{2, 100}, {4, 100}, {3, 100}, {1, 100}, {0, 100}}, // 500
{{1, 100}, {2, 100}, {4, 100}, {3, 100}, {0, 100}}}; // 500
891:デフォルトの名無しさん
19/05/02 10:15:40.84 uedhNxa1.net
死ね
892:デフォルトの名無しさん
19/05/02 10:36:17.75 aiQlF5oy.net
>>871
時間全部同じなら1にしちゃってえーんちゃう?
893:デフォルトの名無しさん
19/05/02 12:40:19.89 6TxNQP9X.net
死んで良し。こんな長たらしいのを貼るなんて迷惑。
どこかに貼ってリンクだけにしろ。
894:デフォルトの名無しさん
19/05/03 00:09:09.98 zqE/J/GT.net
>>836
C URLリンク(ideone.com)
もうどうでもいいかもしれんが、各列で幅調整ができるようにした
895:デフォルトの名無しさん
19/05/07 18:32:57.10 dWjIX09N.net
COST_TIME: 2903
0 : ( 4, 799, 1141), ( 1, 1141, 1385), ( 2, 1385, 1736), ( 3, 2023, 2316), ( 0, 2477, 2819)
1 : ( 2, 0, 306), ( 4, 457, 799), ( 3, 1114, 1500), ( 1, 1500, 1886), ( 0, 1980, 2393)
2 : ( 3, 368, 536), ( 0, 913, 1179), ( 2, 1203, 1385), ( 1, 1385, 1491), ( 4, 2122, 2490)
3 : ( 3, 0, 368), ( 2, 1052, 1203), ( 4, 1838, 2122), ( 0, 2393, 2477), ( 1, 2639, 2803)
4 : ( 4, 0, 240), ( 1, 240, 431), ( 0, 562, 913), ( 3, 1615, 2023), ( 2, 2593, 2868)
5 : ( 2, 306, 648), ( 3, 763, 1114), ( 4, 1141, 1332), ( 0, 1332, 1665), ( 1, 1886, 2312)
6 : ( 0, 75, 168), ( 1, 568, 803), ( 2, 1736, 2158), ( 3, 2508, 2752), ( 4, 2752, 2903)
7 : ( 0, 0, 75), ( 4, 240, 457), ( 1, 457, 568), ( 3, 568, 763), ( 2, 2158, 2593)
8 : ( 2, 879, 1052), ( 4, 1403, 1838), ( 3, 2316, 2502), ( 1, 2502, 2639), ( 0, 2819, 2872)
9 : ( 1, 0, 93), ( 2, 648, 879), ( 4, 1332, 1403), ( 3, 1500, 1615), ( 0, 1665, 1980)
MACHINE Schedule
0 : ( 7, 0, 75), ( 6, 75, 168), ( 4, 562, 913), ( 2, 913, 1179), ( 5, 1332, 1665), ( 9, 1665, 1980), ( 1, 1980, 2393), ( 3, 2393, 2477), ( 0, 2477, 2819), ( 8, 2819, 2872)
1 : ( 9, 0, 93), ( 4, 240, 431), ( 7, 457, 568), ( 6, 568, 803), ( 0, 1141, 1385), ( 2, 1385, 1491), ( 1, 1500, 1886), ( 5, 1886, 2312), ( 8, 2502, 2639), ( 3, 2639, 2803)
2 : ( 1, 0, 306), ( 5, 306, 648), ( 9, 648, 879), ( 8, 879, 1052), ( 3, 1052, 1203), ( 2, 1203, 1385), ( 0, 1385, 1736), ( 6, 1736, 2158), ( 7, 2158, 2593), ( 4, 2593, 2868)
3 : ( 3, 0, 368), ( 2, 368, 536), ( 7, 568, 763), ( 5, 763, 1114), ( 1, 1114, 1500), ( 9, 1500, 1615), ( 4, 1615, 2023), ( 0, 2023, 2316), ( 8, 2316, 2502), ( 6, 2508, 2752)
4 : ( 4, 0, 240), ( 7, 240, 457), ( 1, 457, 799), ( 0, 799, 1141), ( 5, 1141, 1332), ( 9, 1332, 1403), ( 8, 1403, 1838), ( 3, 1838, 2122), ( 2, 2122, 2490), ( 6, 2752, 2903)
896:デフォルトの名無しさん
19/05/07 19:09:14.64 T//WWibe.net
死ねやマジで
897:デフォルトの名無しさん
19/05/09 08:23:28.37 iHKmUIWi.net
COST_TIME: 2868
0 : ( 4, 970, 1312), ( 1, 1312, 1556), ( 2, 1807, 2158), ( 3, 2177, 2470), ( 0, 2470, 2812)
1 : ( 2, 0, 306), ( 4, 557, 899), ( 3, 1197, 1583), ( 1, 1583, 1969), ( 0, 1969, 2382)
2 : ( 3, 0, 168), ( 0, 394, 660), ( 2, 1474, 1656), ( 1, 1969, 2075), ( 4, 2222, 2590)
3 : ( 3, 168, 536), ( 2, 1656, 1807), ( 4, 1938, 2222), ( 0, 2382, 2466), ( 1, 2696, 2860)
4 : ( 4, 292, 532), ( 1, 532, 723), ( 0, 723, 1074), ( 3, 1583, 1991), ( 2, 2158, 2433)
5 : ( 2, 306, 648), ( 3, 731, 1082), ( 4, 1312, 1503), ( 0, 1512, 1845), ( 1, 2133, 2559)
6 : ( 0, 75, 168), ( 1, 723, 958), ( 2, 1052, 1474), ( 3, 2470, 2714), ( 4, 2714, 2865)
7 : ( 0, 0, 75), ( 4, 75, 292), ( 1, 292, 403), ( 3, 536, 731), ( 2, 2433, 2868)
8 : ( 2, 879, 1052), ( 4, 1503, 1938), ( 3, 1991, 2177), ( 1, 2559, 2696), ( 0, 2812, 2865)
9 : ( 1, 0, 93), ( 2, 648, 879), ( 4, 899, 970), ( 3, 1082, 1197), ( 0, 1197, 1512)
MACHINE Schedule
0 : ( 7, 0, 75), ( 6, 75, 168), ( 2, 394, 660), ( 4, 723, 1074), ( 9, 1197, 1512), ( 5, 1512, 1845), ( 1, 1969, 2382), ( 3, 2382, 2466), ( 0, 2470, 2812), ( 8, 2812, 2865)
1 : ( 9, 0, 93), ( 7, 292, 403), ( 4, 532, 723), ( 6, 723, 958), ( 0, 1312, 1556), ( 1, 1583, 1969), ( 2, 1969, 2075), ( 5, 2133, 2559), ( 8, 2559, 2696), ( 3, 2696, 2860)
2 : ( 1, 0, 306), ( 5, 306, 648), ( 9, 648, 879), ( 8, 879, 1052), ( 6, 1052, 1474), ( 2, 1474, 1656), ( 3, 1656, 1807), ( 0, 1807, 2158), ( 4, 2158, 2433), ( 7, 2433, 2868)
3 : ( 2, 0, 168), ( 3, 168, 536), ( 7, 536, 731), ( 5, 731, 1082), ( 9, 1082, 1197), ( 1, 1197, 1583), ( 4, 1583, 1991), ( 8, 1991, 2177), ( 0, 2177, 2470), ( 6, 2470, 2714)
4 : ( 7, 75, 292), ( 4, 292, 532), ( 1, 557, 899), ( 9, 899, 970), ( 0, 970, 1312), ( 5, 1312, 1503), ( 8, 1503, 1938), ( 3, 1938, 2222), ( 2, 2222, 2590), ( 6, 2714, 2865)
898:デフォルトの名無しさん
19/05/09 09:37:18.89 pu1Iu6no.net
ここはプログラミングのお題スレであって結果と思われる出力を書き込むスレではない。
899:デフォルトの名無しさん
19/05/09 19:00:51.34 n0QdGvKz.net
コラッツ数列を作る関数chainを書け
コラッツ数列の定義
任意の自然数から開始する
数が 1ならば 、終了
数が偶数なら 、 2で割る
数が奇数なら 、 3倍して 1を足す
新しい値でこのアルゴリズムを繰り返す
使用例
>chain 10
[ 1 0 , 5 , 1 6 , 8 , 4 , 2 , 1 ]
>chain 1
[ 1 ]
>chain 30
[ 3 0 , 1 5 , 4 6 , 2 3 , 7 0 , 3 5 , 1 0 6 , 5 3 , 1 6 0 , 8 0 , 4 0 , 2 0 , 1 0 , 5 , 1 6 , 8 , 4 , 2 , 1 ]
900:デフォルトの名無しさん
19/05/09 21:28:06.85 V3giiBFx.net
>>880 C
URLリンク(ideone.com)
901:さまよえる蟻人間
19/05/09 22:20:55.24 sZO2t0w0.net
お題: 改行とスペースを含むASCII文字列が与えられる。
改行とスペース以外の各印字可能文字の位置を以下のように順番に出力せよ。
(入力)
a b c
d
(出力)
[a, 0, 0]
[b, 2, 0]
[c, 5, 0]
[d, 0, 2]
902:デフォルトの名無しさん
19/05/10 08:21:41.55 Z1uC1A15.net
>>880
python
def chain(n):
lst = []
if n < 1: raise ValueError("Please n > 0 number")
while n != 1:
lst.append(n)
if n % 2 == 0: n //= 2
else: n = n * 3 + 1
lst.append(1)
return lst
for i in [10,1,30,0]: print(chain(i))
903:デフォルトの名無しさん
19/05/10 08:24:53.49 Z1uC1A15.net
>>880
Haskell
main = mapM_ (print.chain) [10,1,30,0]
chain 1 = [1]
chain n | n < 1 = error "Please n > 0 number"
chain n | even n = n:chain (n `div` 2)
chain n = n:chain (n * 3 + 1)
904:デフォルトの名無しさん
19/05/10 11:11:44.01 VtNtFyvg.net
>>880
C
URLリンク(ideone.com)
1未満の値の判定はchain関数に実装すべきなのかどうなのか……
905:デフォルトの名無しさん
19/05/10 11:56:36.34 sggjdX/2.net
>>882
[c, 5, 0]?
[c, 4, 0]じゃなくて?
906:さすらいの蟻人間
19/05/10 12:18:04.49 8LSsTFj9.net
>>882 >>886
4の間違いでした。訂正。
907:デフォルトの名無しさん
19/05/10 12:30:05.58 k7gY5pMP.net
>>882
出力は、行列番号が0から始まるとして
文字,列番号、行番号 だと思うから c の列番号は間違ってるんじゃないの?
(入力)
a b c
d
(出力)
[a, 0, 0]
[b, 2, 0]
[c, 4, 0] << 5じゃなくて4だろ。
[d, 0, 2]
908:デフォルトの名無しさん
19/05/10 12:47:01.79 6xQjM2XG.net
>>881,885
この問題、入門書から抜粋したけど次に1ー100の間に長さ15以上は何個あるかとか出てるから、
Cだとリストから作らないといけないのは分かるが、リスト返す様にした方が仕様変更に強いと思う。
909:デフォルトの名無しさん
19/05/10 12:53:54.51 KAkBQh2y.net
宿題誘導か
最近のアホは小賢しいな
910:デフォルトの名無しさん
19/05/10 13:27:19.10 k7gY5pMP.net
>>882 python
st = '''a b c
d
'''
line = 0 ; col = 0
for c in st :
__if c == '\n' :
____line += 1
____col = 0
____continue
__if c != ' ' :
____print ('['+c, col,str(line)+']', sep=',')
__col += 1
911:デフォルトの名無しさん
19/05/10 13:40:11.78 k7gY5pMP.net
>>891 出力フォーマットが
['a', 0, 0]
['b', 2, 0]
['c', 4, 0]
['d', 0, 2]
でもよければ print文は簡単になる
print ([c, col,line])
912:さすらいの蟻人間
19/05/10 14:51:58.21 CF7UUf9v.net
お題: >>882 の入出力を逆転。
913:デフォルトの名無しさん
19/05/10 15:12:02.76 bODSyEKx.net
>>893 手抜きすんな面白くない
914:デフォルトの名無しさん
19/05/10 15:43:29.85 aTy0NCJ4.net
>>880
与えられた数の3倍以上の個数を持つ系列を
を3個示せ。
915:デフォルトの名無しさん
19/05/10 17:50:33.37 58PV3kUA.net
>>880,889 Squeak Smalltalk
| chain |
chain := [:n |
Array streamContents: [:ss |
ss nextPut: n.
[n > 1] whileTrue: [ss nextPut: (n := n even ifTrue: [n / 2] ifFalse: [n * 3 + 1])]
]
].
chain value: 10. "=> #(10 5 16 8 4 2 1) "
(1 to: 100) count: [:n | (chain value: n) size >= 15] "=> 71 "
916:デフォルトの名無しさん
19/05/10 20:05:13.80 0Zlxa6bH.net
>>880
Perl のワンライナー。
perl -ne '$n=$_;chomp($n);@d=($n);while($n!=1){$n=$n&1?($n*3+1):($n/2);push(@d,$n)}print "[".join(", ", @d)."]\n"'
実行する場合はbash等のシェルから行う(シングルクォートの中がそのままperlに引き渡されさえすれば他のシェルでも良い)。
標準入力から1行1データで入力して結果を出力するようにした。
917:デフォルトの名無しさん
19/05/10 20:29:31.76 /+/am3CQ.net
>>895
27のとき112個
31のとき107個
10億くらいまで回したけど、これら以外なくね?
数列の初期値と長さは、初期値が小さいうちは同じくらいだが、初期値を大きくしても数列の長さはさほど伸びない。
URLリンク(imgur.com)
グラフはxが大きくなるほど飛ばす間隔も大きくしてあるからあまり正確ではない。
918:デフォルトの名無しさん
19/05/10 21:48:47.85 LM2YqzO0.net
お題
URLリンク(www.youtube.com)
このようなルートの数を数え上げるプログラムを作る
N=5位まででよい
919:デフォルトの名無しさん
19/05/10 22:09:58.71 KAkBQh2y.net
ZDDやるなら出来合いのもの使って終わりじゃねえの?
URLリンク(github.com)
URLリンク(hs-nazuna.github.io)
920:デフォルトの名無しさん
19/05/11 11:54:01.37 Ze1v8w/9.net
>>880 Perl5
sub chain {
my $i = shift;
$i == 1 ? $i : ($i, ($i & 1 ? chain(3*$i + 1) : chain($i / 2)))
}
for (qw{10 1 30}) {
@a = chain $_;
print "[@a]\n";
}
実行
~ $ perl 13_875_collatz.pl
[10 5 16 8 4 2 1]
[1]
[30 15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1]
921:デフォルトの名無しさん
19/05/11 12:16:05.54 Ze1v8w/9.net
>>882 Perl5
@in = map{[split'']} map{split '\n'} <<EOF;
a b c
d
EOF
for $j (0..$#in) {
for $i (0..$#{$in[$j]}) {
$c = $in[$j][$i];
print "[$c,$i,$j]\n" if $c =~ /\w/;
}
}
実行
~ $ perl 13_877.pl
[a,0,0]
[b,2,0]
[c,4,0]
[d,0,2]
922:デフォルトの名無しさん
19/05/11 13:06:48.39 bKjSBhWB.net
>>880
Ruby で
module Collatz
def self.next_number( num )
if num.even? # 偶数
num / 2
else # 奇数
num * 3 + 1
end
end
def self.chain( num )
@@results = [ ]
tmp = num
while true
@@results.push tmp
break if tmp == 1
tmp = next_number( tmp )
end
@@results
end
end
[ 1, 27 ].each do | num |
p Collatz.chain( num )
end
923:デフォルトの名無しさん
19/05/11 18:55:11.91 fAbbaveG.net
>>880 c
URLリンク(ideone.com)
>>880 ruby
URLリンク(ideone.com)
>>880 ocaml
URLリンク(ideone.com)
924:デフォルトの名無しさん
19/05/11 20:54:08.94 wddfxsLz.net
ideone.comはMATLABに対応してないのね。
書いてみた後で気がついた。
925:デフォルトの名無しさん
19/05/11 23:44:29.57 fAbbaveG.net
>>880 octave
URLリンク(ideone.com)
926:デフォルトの名無しさん
19/05/12 02:01:10.46 FbICTnq7.net
>>880
Java
URLリンク(paiza.io)
takeUntilが欲しいなー
927:デフォルトの名無しさん
19/05/12 06:46:28.87 R9TUiFuu.net
>>880
コラッツ樹で作れば出力を減らせる。
928:デフォルトの名無しさん
19/05/14 02:59:08.35 3xJ0OqNt.net
>>882
Kotlin
URLリンク(paiza.io)
for や while ループ使わずに forEachIndexed で入れ子にしてみました。
929:デフォルトの名無しさん
19/05/14 09:26:15.81 zeev4Evh.net
>>882
Ruby で
text = <<"EOT"
a b c
d
EOT
re = /[^ ]+/ # 空白以外
text.each_line.with_index do | line, idx | # 1行ずつ処理する
line.strip! # trim
# $~.begin は、マッチした先頭文字の位置
line.scan( re ) { puts "[" + [ $~.to_s, $~.begin(0), idx ].join( ", " ) + "]" }
end
930:デフォルトの名無しさん
19/05/14 10:07:03.30 rKVVoOG1.net
>>891 をスッキリ修正してみた
改行コード指定をやめ、for loop のカウンタを利用
>>882 の解
st = '''a b c
d
'''
for line,l in enumerate(st.splitlines()) :
for col,c in enumerate(l):
if c != ' ' : print('['+c, col,str(line)+']',sep=',')
931:デフォルトの名無しさん
19/05/14 14:12:15.49 8QdSJZ63.net
>>910
空白以外は\Sでマッチするぞ
932:デフォルトの名無しさん
19/05/14 23:52:44.04 AtHJrRxM.net
>>882 Squeak Smalltalk
| fn |
fn := [:str |
((str lines collectWithIndex: [:line :lIdx |
(line reject: #isSeparator) asArray
collect: [:chr | {chr. (line indexOf: chr) - 1. lIdx - 1}]]
) concatenation select: #notEmpty) asStringWithCr
].
fn value: 'a b c
d'
"=>
'#($a 0 0)
#($b 2 0)
#($c 4 0)
#($d 0 2)' "
933:デフォルトの名無しさん
19/05/15 01:06:44.65 tCUIeJeC.net
>>913 smalltalk って全く知らないけど、最後が出力のつもり?
だったらお題の出力フォーマットと似ても似つかないじゃん。
934:デフォルトの名無しさん
19/05/15 03:57:52.07 i8y0s24p.net
いや似てる
935:デフォルトの名無しさん
19/05/15 04:50:48.17 TsVBVaTo.net
>>882 Squeak/Pharo Smalltalk
出力はともかく同行に同文字があるとダメだった^^;ので>>913 差し替え
| fn |
fn := [:str |
((str lines collectWithIndex: [:line :lIdx |
(line asArray collectWithIndex: [:chr :cIdx | {chr. cIdx - 1. lIdx - 1}]
) reject: [:each | each first isSeparator]]
) concatenation
select: #notEmpty thenCollect: [:each | '[{1}, {2}, {3}]' format: each]) asStringWithCr
].
fn value: 'a b c
d'
"=>
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2] "
936:905
19/05/15 09:57:59.71 AfKgri37.net
>>912
re = /[^ ]+/
空白以外だから、上のようにしたけど、空白"類"以外なら、\S+ でよい
問題の意図がどちらなのか、よく分からない
937:デフォルトの名無しさん
19/05/15 23:43:58.92 jmndeABE.net
>>882 c
URLリンク(ideone.com)
>>882 ruby
URLリンク(ideone.com)
>>882 ocaml
URLリンク(ideone.com)
>>882 octave
URLリンク(ideone.com)
938:デフォルトの名無しさん
19/05/16 01:50:16.53 4fy8zsNP.net
>>918
C以外は助長だな
939:デフォルトの名無しさん
19/05/16 03:57:55.40 6BLr95cC.net
>>919
具体的にはどの処理のどの部分を冗長に感じられたのでしょうか?
たとえばRubyの回答がどう冗長か(あるいはどう書けば良いか)教えてください!
940:デフォルトの名無しさん
19/05/16 08:25:20.49 MujhV/Cm.net
>>918 故意にpython 外しはずるい。
>>882 python
URLリンク(ideone.com)
printフォーマットは、コメントにしたpython3.6のf文字列の方がシンプルだが、ideone は3.5しかないのでformat文にした。
941:デフォルトの名無しさん
19/05/16 10:18:52.91 YVMjr/q8.net
>>882
Go
URLリンク(ideone.com)
コンパクトにならんね
942:デフォルトの名無しさん
19/05/16 14:34:08.16 YVMjr/q8.net
>>893
Go
URLリンク(ideone.com)
943:デフォルトの名無しさん
19/05/16 19:26:40.27 ktv4pd0R.net
>>882
C++
URLリンク(ideone.com)
944:デフォルトの名無しさん
19/05/16 20:28:13.91 3sIrlJF4.net
お題
整数の数列が与えられるので、各値の大小関係を変えないように値をなるべく小さくせよ
ただし1番小さい要素は1にすること
入力
-6 3 9 5 3 -7
出力
2 3 5 4 3 1
945:デフォルトの名無しさん
19/05/16 21:00:21.83 /dAesd8e.net
>>925
c++
URLリンク(ideone.com)
946:
19/05/16 21:47:12.78 m1RdOLwU.net
>>925
>値をなるべく小さくせよ
絶対値を小さく、という意味ですか?
947:デフォルトの名無しさん
19/05/16 22:59:47.34 0eZXbfha.net
>>925 Pharo/Squeak Smalltalk
| fn |
fn := [:arr |
| sorted |
sorted := arr asSet sorted.
arr collect: [:x | sorted indexOf: x]
].
fn value: #(-6 3 9 5 3 -7). "=> #(2 3 5 4 3 1) "
948:913
19/05/16 23:00:52.84 02wuysYU.net
>>882 ocaml
URLリンク(ideone.com)
・自分に正直になってrefとforループで書いた
>>919
じょ、助長…
>>921
外しと言うより、たんに不勉強
python書けないんよね(´・ω・`)
949:デフォルトの名無しさん
19/05/16 23:34:17.56 YXKZQo24.net
>>928 Perl5
@a = qw{-6 3 9 5 3 -7};
$h{$_}=1 for @a;
%o = map{$_=>++$i} sort{$a<=>$b} keys %h;
@b = map{$o{$_}} @a;
print "@a => @b\n";
実行
~ $ perl 13_920.pl
-6 3 9 5 3 -7 => 2 3 5 4 3 1
950:デフォルトの名無しさん
19/05/16 23:42:11.94 YXKZQo24.net
>>930
アンカーしくった、>>925 宛だった…orz
951:デフォルトの名無しさん
19/05/16 23:44:54.09 02wuysYU.net
>>925 octave
URLリンク(ideone.com)
952:デフォルトの名無しさん
19/05/17 00:26:31.35 SI3/qEwo.net
>>893 Pharo/Squeak Smalltalk
| fn |
fn := [:arr |
String streamContents: [:ss |
| cIdx lIdx |
cIdx := lIdx := 0.
arr do: [:spec |
spec third > lIdx ifTrue: [
ss nextPutAll: (String new: spec third - lIdx withAll: Character cr).
lIdx := spec third.
cIdx := 0
].
ss nextPutAll: (String new: spec second - cIdx withAll: Character space).
ss nextPutAll: spec first.
cIdx := spec second + 1.
]
]
].
fn value: #(
(a 0 0)
(b 2 0)
(c 4 0)
(d 0 2)).
"=>
a b c
d "
953:デフォルトの名無しさん
19/05/17 00:35:47.85 HrEfbPs9.net
>>932
重複除去でソート後のインデックスを返す関数?
チート過ぎてわろたw
954:デフォルトの名無しさん
19/05/17 00:55:59.72 TuAgku6e.net
最近jニキ来ないな
955:デフォルトの名無しさん
19/05/17 01:23:24.98 UHIjSpei.net
>>925
Kotlin
URLリンク(paiza.io)
956:デフォルトの名無しさん
19/05/17 07:54:47.22 9a+COZnd.net
>>893
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
r=parse('[{},{},{}]',l)
c= r[0]
col2 = int(r[1]) ; line2 = int(r[2])
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
957:デフォルトの名無しさん
19/05/17 08:32:11.25 9a+COZnd.net
>>937 parse に型指定追加
>>893 Python
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
(c,col2,line2) = parse('[{},{:d},{:d}]',l)
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
958:デフォルトの名無しさん
19/05/17 12:14:50.20 8VLhbVxR.net
>>925
は、ランク付けの問題だろ
入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1
入力データの最も小さい数字を、ランク1 にして、
数字が大きくなるほど、ランクも大きくしていく
同値の場合は、同じランクにして、次のランクも間隔を空けない。
ランク3 が2つあっても、次は、ランク4
つまり、ランクが欠けることはない!
959:デフォルトの名無しさん
19/05/17 12:23:14.18 99nnd/tf.net
>>939
うるせぇ死ね
960:デフォルトの名無しさん
19/05/17 12:39:09.53 L8EHraRu.net
難しく書いてたけど結局これだけなのか
問題文をわざと複雑に見せかける現代文読解と同じ仕組みじゃないか
961:デフォルトの名無しさん
19/05/17 12:49:18.63 ut9H1r3U.net
プログラム作る前に気づいたので>>936のリンク先のブログラムのタイトルは密かに「順位」にしといたw
962:デフォルトの名無しさん
19/05/17 12:50:56.11 l82uGMBO.net
>>941
わざと難しく見せかけているというよ
963:閨Aたんに説明が下手なだけだと思う
964:デフォルトの名無しさん
19/05/17 13:23:46.56 gFFtTihX.net
別に難しくない件
965:デフォルトの名無しさん
19/05/17 13:29:01.98 L8EHraRu.net
そうですね
難易度は主観ですね
なら短さ長さを比べるとこうなります
・各値の大小関係を変えないように値をなるべく小さくせよ
・ランク付けせよ
もしかしたらこれが要するにただのランク付けだと分かるまで何人が挑戦するかを試してみる社会調査だったのかもしれません
966:デフォルトの名無しさん
19/05/17 13:36:08.80 /5AjAxyT.net
>ランク付けだと分かるまで何人が挑戦するかを試してみる
まさにそうじゃないの?
967:デフォルトの名無しさん
19/05/17 13:44:50.72 mxL0YWmq.net
>>925 J
f =: >: @ (i.~ /:~ @ ~.)
f _6 3 9 5 3 _7
2 3 5 4 3 1
968:デフォルトの名無しさん
19/05/17 14:08:19.69 gFFtTihX.net
>>945
アスペ
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
1957日前に更新/332 KB
担当:undef