[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/28 06:35 / Filesize : 332 KB / Number-of Response : 1028
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングのお題スレ Part13



1 名前:デフォルトの名無しさん [2019/02/03(日) 11:21:53.20 ID:72eosYJ+.net]
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
codepad.org/
compileonline.com/
rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
melpon.org/wandbox
https://paiza.io/

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

※前スレ
https://mevius.2ch.net/test/read.cgi/tech/1538096947/

848 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 06:09:56.50 ID:/+hkU7cH.net]
>>822
割り算が%とか、そのモジュール書いた奴、頭腐ってんじゃないの?

849 名前:デフォルトの名無しさん [2019/04/21(日) 13:14:42.53 ID:ay9waDdy.net]
>>830

>>821 見てないの?
Haskellでは少数を返す割り算は「/」、整数を返す割り算は「`div`」と返す型で使い分ける。
「%」が返すのは分数型(Rational)

850 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 14:45:56.49 ID:/+hkU7cH.net]
やっぱ頭腐ってるな。

851 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:43:26.25 ID:NALZs80Z.net]
お題: 日本語の文章の句読点を , や . に置き換える。
ただし、, や . の直後には半角のスペースを置き、さらに改行の手前や文末のスペースは削除すること。

例:
In < これは、日本語の文章です。ふひひ。
Out > これは, 日本語の文章です. ふひひ.

852 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:50:03.68 ID:WcGowxU3.net]
しょうもな

853 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:51:59.82 ID:Y8OSWYHv.net]
文末のスペースが消えてないやん
どっちやねん

854 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:52:14.50 ID:NALZs80Z.net]
お題: 簡易なテーブルを綺麗に整形する
余力があればカラムの左揃え、右揃えをオプションで選択できるようにする(出力は中央揃え)

入力:
a|aaaaa|bb
ccc|ddd|ee

出力:

**a***|*aaaaa*|***bb*
------+-------+------
*ccc**|**ddd**|***ee*

855 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:54:35.53 ID:NALZs80Z.net]
>>836
×(出力は中央揃え)
〇(例は中央揃え)

856 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:01:38.43 ID:Y8OSWYHv.net]
bとeが中央じゃなくね



857 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 21:05:36.09 ID:NALZs80Z.net]
>>838
例に使ったスクリプトがバグってた

858 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:36:14.15 ID:lwqMqFKi.net]
左のaとcもおかしい

859 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 23:50:33.64 ID:NSCbK96M.net]
各列の文字数は一致する必要があるのか

860 名前:デフォルトの名無しさん [2019/04/25(木) 04:26:28.66 ID:D6NtakiX.net]
>>836
入出力のエンコードは?
ASCII以外はあるのか?

861 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 05:01:51.18 ID:XVamjpPA.net]
>>842
ASCIIのみで

862 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 07:44:22.82 ID:XVamjpPA.net]
>>839
いやバグってなかったわ
>>836
が正常
| の前後に*が一つ入るから
| の前後の*は入れても入れなくてもいいけど入れたほうが綺麗になるかもしれん

863 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 10:34:23.81 ID:J1W60oTI.net]
「綺麗」とか言うお気持ちワードが入るとダメだな

864 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 10:41:43.51 ID:aGd2Nt87.net]
「楽しいプログラミング」w
「美しく書ける」ww

865 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 12:39:16.14 ID:J1W60oTI.net]
何がキレイなのか定義出来ず言うことが主観でコロコロ変わる、マジで今の日本のサイコパス上司そのものだ
「オレの心情をさっしろ」みたいな屑がいいそうなこと
頭が悪いから定義が出来ないし自分の言ってることが支離滅裂になってる
曖昧な用語(綺麗)で押し通そうとする
コレ全部サイコパスの特徴

866 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:02:10.38 ID:pYdb89HV.net]
美を定義できる人間がいるなら会いたいものだ



867 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 13:47:48.74 ID:BUlwZIC7.net]
>>848
プラトンのスュンポスィオーンって本で定義されてたぞ

868 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 16:18:28.13 ID:ThHN2jz5.net]
美しいコードなんて求められてない。小学生でも知ってる。
https://tr.twipple.jp/ps/3f/af4715.html

869 名前:デフォルトの名無しさん [2019/04/25(木) 18:30:28.28 ID:/IwwINNy.net]
美しい半角カナ

870 名前:デフォルトの名無しさん [2019/04/25(木) 18:35:37.23 ID:/IwwINNy.net]
>>850
変数に日本語が使えないとか書いてあるな。
Javaとか普通に使えるんだがな。

871 名前: mailto:sage [2019/04/25(木) 20:27:10.98 ID:6xUIrXDu.net]
>>849
倉橋由美子のが面白かったと思っています

872 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 22:32:18.97 ID:siWhi4pR.net]
>>852
そんなに日本語使いたいならなでしこでも書いとけ

873 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 22:33:30.90 ID:X6smEgNz.net]
>>852 そんな大昔の話をするなよ。 今はPython3 なんだから日本語も使えるよ。

なな = 7
print(なな)
# 7

874 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 23:27:23.78 ID:jZ4+eHeJ.net]
今時C++とかでも普通に日本語識別子使えるだろ…

875 名前:デフォルトの名無しさん [2019/04/25(木) 23:39:11.26 ID:D6NtakiX.net]
>>856
あ、そうなの?
知らなかった。

876 名前:デフォルトの名無しさん [2019/04/26(金) 18:55:29.49 ID:YRtkzMZR.net]
>>836
Kotlin
https://paiza.io/projects/RCbBPGrxaB1uoB-tj_1hJg
入力は1行目に 0, 1, 2 の何れかのオプションを指定する。
意味は 0=中央、1=左寄せ、2=右寄せ になっている。
2行目からは | 区切りで文字列を入れる。
空行またはファイルの終わりで表を出力する。
空行だった場合はまた次の表の最初のオプションから入れられる。



877 名前:デフォルトの名無しさん mailto:sage [2019/04/26(金) 19:49:06.87 ID:RVSBatxL.net]
>>858
ほとぼりが冷めたと思ってんのか屑?
お前が>>844だろ
ID変わったからっていい気になんなよ

ゴミみたいな出力のまさにゴミだ
全然綺麗じゃない

878 名前:853 [2019/04/27(土) 04:31:22.65 ID:dVFnhFQW.net]
>>859
違うよ。俺はもっと上の方であみだくじのお題を出したやつだよ。
自分でもプログラム作るには作ったけど表示するところまでだな。
しかしブラウザの実行環境で表示すると罫線の幅の問題でずれるので画像で出力しようかと思っている。
これな。
https://paiza.io/projects/2mINZHiEB6ciPWHEpkCJig

879 名前:デフォルトの名無しさん [2019/04/27(土) 15:02:49.57 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 16:10:46.35 ID:nhVWQaIp.net]
宿題は自分でやれ

881 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 16:24:49.19 ID:VMurKVDA.net]
まずジョブスケジューリングが何か説明してもらおう

882 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 17:28:59.65 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/04/27(土) 17:44:35.53 ID:PUfIYz8D.net]
今2889になってたけどSegmentation faultで落ちてた
前回のやつでJOBNUMとかSTPとかをわざわざ直接5 5とか書いてて
今回どんなコードかもう忘れて片方を適当に10に直したからか元からバグがあったのか分からないけど
結果自体は間違ってなそうだと思うけど

884 名前:818 mailto:sage [2019/04/27(土) 18:03:52.53 ID:63A0HxGX.net]
>>823の(最適化していない)コード Java
https://ideone.com/72sNsk

>>827
出したで

885 名前:デフォルトの名無しさん [2019/04/28(日) 08:12:15.68 ID: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 名前:デフォルトの名無しさん [2019/04/28(日) 19:46:09.95 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/04/28(日) 23:28:25.99 ID: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 名前:デフォルトの名無しさん [2019/04/29(月) 05:34:40.52 ID:8r4CfxJG.net]
>>869
ご指摘ありがとうございます。

890 名前:デフォルトの名無しさん [2019/05/02(木) 08:14:38.07 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/02(木) 10:15:40.84 ID:uedhNxa1.net]
死ね

892 名前:デフォルトの名無しさん mailto:sage [2019/05/02(木) 10:36:17.75 ID:aiQlF5oy.net]
>>871
時間全部同じなら1にしちゃってえーんちゃう?

893 名前:デフォルトの名無しさん mailto:sage [2019/05/02(木) 12:40:19.89 ID:6TxNQP9X.net]
死んで良し。こんな長たらしいのを貼るなんて迷惑。
どこかに貼ってリンクだけにしろ。

894 名前:デフォルトの名無しさん [2019/05/03(金) 00:09:09.98 ID:zqE/J/GT.net]
>>836
C https://ideone.com/UPx6IS
もうどうでもいいかもしれんが、各列で幅調整ができるようにした

895 名前:デフォルトの名無しさん [2019/05/07(火) 18:32:57.10 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 19:09:14.64 ID:T//WWibe.net]
死ねやマジで



897 名前:デフォルトの名無しさん [2019/05/09(木) 08:23:28.37 ID: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 名前:デフォルトの名無しさん [2019/05/09(木) 09:37:18.89 ID:pu1Iu6no.net]
ここはプログラミングのお題スレであって結果と思われる出力を書き込むスレではない。

899 名前:デフォルトの名無しさん [2019/05/09(木) 19:00:51.34 ID: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 名前:デフォルトの名無しさん [2019/05/09(木) 21:28:06.85 ID:V3giiBFx.net]
>>880 C
https://ideone.com/vpQG5P

901 名前:さまよえる蟻人間 mailto:sage [2019/05/09(木) 22:20:55.24 ID:sZO2t0w0.net]
お題: 改行とスペースを含むASCII文字列が与えられる。
改行とスペース以外の各印字可能文字の位置を以下のように順番に出力せよ。

(入力)
a b c

d
(出力)
[a, 0, 0]
[b, 2, 0]
[c, 5, 0]
[d, 0, 2]

902 名前:デフォルトの名無しさん [2019/05/10(金) 08:21:41.55 ID: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 名前:デフォルトの名無しさん [2019/05/10(金) 08:24:53.49 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 11:11:44.01 ID:VtNtFyvg.net]
>>880

C
https://ideone.com/mBt0yE

1未満の値の判定はchain関数に実装すべきなのかどうなのか……

905 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 11:56:36.34 ID:sggjdX/2.net]
>>882
[c, 5, 0]?
[c, 4, 0]じゃなくて?

906 名前:さすらいの蟻人間 mailto:sage [2019/05/10(金) 12:18:04.49 ID:8LSsTFj9.net]
>>882 >>886
4の間違いでした。訂正。



907 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 12:30:05.58 ID:k7gY5pMP.net]
>>882
出力は、行列番号が0から始まるとして
文字,列番号、行番号 だと思うから c の列番号は間違ってるんじゃないの?
(入力)
a b c

d
(出力)
[a, 0, 0]
[b, 2, 0]
[c, 4, 0] << 5じゃなくて4だろ。
[d, 0, 2]

908 名前:デフォルトの名無しさん [2019/05/10(金) 12:47:01.79 ID:6xQjM2XG.net]
>>881,885
この問題、入門書から抜粋したけど次に1ー100の間に長さ15以上は何個あるかとか出てるから、
Cだとリストから作らないといけないのは分かるが、リスト返す様にした方が仕様変更に強いと思う。

909 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 12:53:54.51 ID:KAkBQh2y.net]
宿題誘導か
最近のアホは小賢しいな

910 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 13:27:19.10 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 13:40:11.78 ID:k7gY5pMP.net]
>>891 出力フォーマットが
['a', 0, 0]
['b', 2, 0]
['c', 4, 0]
['d', 0, 2]
でもよければ print文は簡単になる
print ([c, col,line])

912 名前:さすらいの蟻人間 mailto:sage [2019/05/10(金) 14:51:58.21 ID:CF7UUf9v.net]
お題: >>882 の入出力を逆転。

913 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 15:12:02.76 ID:bODSyEKx.net]
>>893 手抜きすんな面白くない

914 名前:デフォルトの名無しさん [2019/05/10(金) 15:43:29.85 ID:aTy0NCJ4.net]
>>880
与えられた数の3倍以上の個数を持つ系列を
を3個示せ。

915 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 17:50:33.37 ID: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 名前:デフォルトの名無しさん [2019/05/10(金) 20:05:13.80 ID: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 名前:デフォルトの名無しさん [2019/05/10(金) 20:29:31.76 ID:/+/am3CQ.net]
>>895
27のとき112個
31のとき107個
10億くらいまで回したけど、これら以外なくね?

数列の初期値と長さは、初期値が小さいうちは同じくらいだが、初期値を大きくしても数列の長さはさほど伸びない。
ttps://imgur.com/wm0kCEQ
グラフはxが大きくなるほど飛ばす間隔も大きくしてあるからあまり正確ではない。

918 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 21:48:47.85 ID:LM2YqzO0.net]
お題
https://www.youtube.com/watch?v=2JNgkMMaNlw

このようなルートの数を数え上げるプログラムを作る
N=5位まででよい

919 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 22:09:58.71 ID:KAkBQh2y.net]
ZDDやるなら出来合いのもの使って終わりじゃねえの?

https://github.com/junkawahara/frontier-basic
https://hs-nazuna.github.io/tdzdd-manual/intro.html

920 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 11:54:01.37 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 12:16:05.54 ID: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 名前:デフォルトの名無しさん [2019/05/11(土) 13:06:48.39 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 18:55:11.91 ID:fAbbaveG.net]
>>880 c
https://ideone.com/jwtvbF

>>880 ruby
https://ideone.com/MIKeM7

>>880 ocaml
https://ideone.com/CEassZ

924 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 20:54:08.94 ID:wddfxsLz.net]
ideone.comはMATLABに対応してないのね。
書いてみた後で気がついた。

925 名前:デフォルトの名無しさん mailto:sage [2019/05/11(土) 23:44:29.57 ID:fAbbaveG.net]
>>880 octave
https://ideone.com/eNqIim

926 名前:デフォルトの名無しさん [2019/05/12(日) 02:01:10.46 ID:FbICTnq7.net]
>>880
Java
https://paiza.io/projects/VSqA-UZgWeXB-YzVTnrQRg

takeUntilが欲しいなー



927 名前:デフォルトの名無しさん [2019/05/12(日) 06:46:28.87 ID:R9TUiFuu.net]
>>880
コラッツ樹で作れば出力を減らせる。

928 名前:デフォルトの名無しさん [2019/05/14(火) 02:59:08.35 ID:3xJ0OqNt.net]
>>882
Kotlin
https://paiza.io/projects/Aab0mA1WSwXHnHL2049hCA

for や while ループ使わずに forEachIndexed で入れ子にしてみました。

929 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 09:26:15.81 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 10:07:03.30 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 14:12:15.49 ID:8QdSJZ63.net]
>>910
空白以外は\Sでマッチするぞ

932 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 23:52:44.04 ID: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 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 01:06:44.65 ID:tCUIeJeC.net]
>>913 smalltalk って全く知らないけど、最後が出力のつもり?
だったらお題の出力フォーマットと似ても似つかないじゃん。

934 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 03:57:52.07 ID:i8y0s24p.net]
いや似てる

935 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 04:50:48.17 ID: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 [2019/05/15(水) 09:57:59.71 ID:AfKgri37.net]
>>912
re = /[^ ]+/
空白以外だから、上のようにしたけど、空白"類"以外なら、\S+ でよい

問題の意図がどちらなのか、よく分からない



937 名前:デフォルトの名無しさん mailto:sage [2019/05/15(水) 23:43:58.92 ID:jmndeABE.net]
>>882 c
https://ideone.com/tIcQPK

>>882 ruby
https://ideone.com/qMREyy

>>882 ocaml
https://ideone.com/uaNmRF

>>882 octave
https://ideone.com/psnXl5

938 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 01:50:16.53 ID:4fy8zsNP.net]
>>918
C以外は助長だな

939 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 03:57:55.40 ID:6BLr95cC.net]
>>919
具体的にはどの処理のどの部分を冗長に感じられたのでしょうか?
たとえばRubyの回答がどう冗長か(あるいはどう書けば良いか)教えてください!

940 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 08:25:20.49 ID:MujhV/Cm.net]
>>918 故意にpython 外しはずるい。
>>882 python
https://ideone.com/yvFuOl

printフォーマットは、コメントにしたpython3.6のf文字列の方がシンプルだが、ideone は3.5しかないのでformat文にした。

941 名前:デフォルトの名無しさん [2019/05/16(木) 10:18:52.91 ID:YVMjr/q8.net]
>>882
Go
https://ideone.com/mJOisR

コンパクトにならんね

942 名前:デフォルトの名無しさん [2019/05/16(木) 14:34:08.16 ID:YVMjr/q8.net]
>>893
Go
https://ideone.com/x2iyka

943 名前:デフォルトの名無しさん [2019/05/16(木) 19:26:40.27 ID:ktv4pd0R.net]
>>882
C++
https://ideone.com/cbDkCt

944 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 20:28:13.91 ID:3sIrlJF4.net]
お題
整数の数列が与えられるので、各値の大小関係を変えないように値をなるべく小さくせよ
ただし1番小さい要素は1にすること
入力
-6 3 9 5 3 -7
出力
2 3 5 4 3 1

945 名前:デフォルトの名無しさん [2019/05/16(木) 21:00:21.83 ID:/dAesd8e.net]
>>925
c++
https://ideone.com/zEwKOk

946 名前: mailto:sage [2019/05/16(木) 21:47:12.78 ID:m1RdOLwU.net]
>>925
>値をなるべく小さくせよ
絶対値を小さく、という意味ですか?



947 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 22:59:47.34 ID: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 mailto:sage [2019/05/16(木) 23:00:52.84 ID:02wuysYU.net]
>>882 ocaml
https://ideone.com/waZZh7
・自分に正直になってrefとforループで書いた

>>919
じょ、助長…

>>921
外しと言うより、たんに不勉強
python書けないんよね(´・ω・`)






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<332KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef