トップページ⇒tech
1001コメント360KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/06/13(金) 10:14:53.01ID:GvJv3b6q
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part3
http://peace.2ch.net/test/read.cgi/tech/1390525149/
プログラミングのお題スレ
http://toro.2ch.net/test/read.cgi/tech/1357191974/
出されたお題をコーディングして罵られるスレ
http://toro.2ch.net/test/read.cgi/tech/1354393458/

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

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】
http://codepad.org/
http://ideone.com/

宿題は宿題スレがあるのでそちらへ。
0153デフォルトの名無しさん2014/06/24(火) 19:22:31.48ID:nNYqUb+/
>>151
了解。
0154デフォルトの名無しさん2014/06/24(火) 19:24:55.48ID:nNYqUb+/
もしくは、テストケースを凝ったものにして、こけやすいデータがほしい。
0155デフォルトの名無しさん2014/06/24(火) 19:28:28.25ID:prMa5jfi
>>152
ひええ
凡人にはまねできません
0156デフォルトの名無しさん2014/06/24(火) 19:28:49.85ID:+d9rugo5
>>149
整数だから、剰余の絶対値でないとうまく行かない筈だけれど、例だけ見ていると、そんなことが窺えないということかな。
0157デフォルトの名無しさん2014/06/24(火) 19:40:13.89ID:nNYqUb+/
>>155
じゃー、マネしなくてもいいけど、バグってても出題者の自己責任ね。
0158デフォルトの名無しさん2014/06/24(火) 19:44:15.76ID:+d9rugo5
>>157
3つの例で桁の定義問題は解決しているように思えるが。
0159デフォルトの名無しさん2014/06/24(火) 19:46:52.99ID:nNYqUb+/
>>146
ttp://ideone.com/RFgqBx
マップこれであってるの?
一通のはずが、小島がいくつか見られるが。
そういう場合どうするの?
0160デフォルトの名無しさん2014/06/24(火) 19:50:30.27ID:nNYqUb+/
>>158
俺バカだからわからなかったんだよ。
質問したけど無視されたし。
コード書き始めて割り切っていってやっと理解したような気がしたんだけどねぇ。
設計時さっぱりだった。
0161デフォルトの名無しさん2014/06/24(火) 20:10:18.97ID:nNYqUb+/
こうやって馬鹿の相手はしてられんと逃げられる。Orz
0162デフォルトの名無しさん2014/06/24(火) 20:12:21.98ID:ESPrt6pD
>>132
@Mathematica

numberOfAgreement[n1_,n2_]:=Module[{d1,d2,maxlen},

  {d1,d2}={n1,n2}//
    Map[IntegerDigits,#]&;

  maxlen={d1,d2}//
    Map[Length,#]&//
    Max;

  {d1,d2}//
    Map[PadLeft[#,maxlen]&,#]&//
    MapThread[List,#]&//
    Map[If[#[[1]]==#[[2]],1,0]&,#]&//
    Total
];
0163デフォルトの名無しさん2014/06/24(火) 20:38:49.47ID:nNYqUb+/
>>158
俺、>>148で2パターン書いたけど、どっちが正解っていえるか?または間違いを指摘できるか?
0164 ◆0qAv26otVI 2014/06/24(火) 22:21:28.24ID:x7MmALRG
333,233 -> 3 がわかりません。
11,110 -> 2 とかなら、ああ左から比較するんだなとか。
0165デフォルトの名無しさん2014/06/24(火) 22:25:42.63ID:nNYqUb+/
>>164
でしょ。情報が圧倒的に足りない。
こういう仕様のいざこざはむっかしから絶えないんだよね。
0166デフォルトの名無しさん2014/06/24(火) 22:34:58.79ID:6LnPDmO+
「桁」って言ってるから、必要十分だと思う。
それが数学というより一般的な「桁」という用語。
何「番目」とかなら、左からとか右からという話になる。
何も言わずに回答している人たちは当然桁という言葉を当然のように踏まえて受け取っている。
0167デフォルトの名無しさん2014/06/24(火) 22:37:13.63ID:nNYqUb+/
>>166
じゃー、例2の解法を言葉で説明してほしいなぁ。できたら全力で誤る。
0168デフォルトの名無しさん2014/06/24(火) 22:39:59.03ID:6LnPDmO+
1桁目と3桁目が一致しているから2
0169デフォルトの名無しさん2014/06/24(火) 22:43:56.45ID:nNYqUb+/
1桁目は、1と2で、3桁目は3と1じゃないか?それとも二個目の数字の前に一桁あるのか?
0170デフォルトの名無しさん2014/06/24(火) 22:47:28.09ID:UpeRHjTe
>>159
空白を入れてるのはなに?子島とは?
0171デフォルトの名無しさん2014/06/24(火) 22:49:53.79ID:nNYqUb+/
>>170
空白は壁って言ってたから、末尾はデータ調整のために空白入れました。
それ以外はこのスレからのコピペです。
0172デフォルトの名無しさん2014/06/24(火) 22:50:41.71ID:6LnPDmO+
>>169
国語力に難があるようだね
0173デフォルトの名無しさん2014/06/24(火) 22:56:02.69ID:nNYqUb+/
>>172
俺には君の認識能力が特殊に見えるよ。
0174 ◆0qAv26otVI 2014/06/24(火) 23:02:03.29ID:x7MmALRG
1234,214 -> 2
169>>1桁目は、1と2で、3桁目は3と4じゃないか?それとも二個目の数字の前に一桁あるのか?
合ってるか?
0175デフォルトの名無しさん2014/06/24(火) 23:04:53.29ID:6LnPDmO+
>>174
大間違い
0176デフォルトの名無しさん2014/06/24(火) 23:05:33.48ID:+d9rugo5
>>173 多分 >>132 のコピーをし間違えているのだと思うけれど、

> お題:ふたつの整数が与えられたとき、数字が一致している桁の個数を求める。
> 例
> 110, 119 -> 2
> 1234, 214 -> 2
> 567, 23 -> 0

例の2

1234
214
^ ^
| |
| 1の 桁
|
100の桁

この二桁だけが同じ数字だから -> 2
0177デフォルトの名無しさん2014/06/24(火) 23:09:42.24ID:nNYqUb+/
1234
214
ちがってるか?
01781762014/06/24(火) 23:11:22.97ID:+d9rugo5
>>176
スペースを入れ損なった。失敗。すみません、無視してください。
0179デフォルトの名無しさん2014/06/24(火) 23:12:06.14ID:WID+irzQ
自分も>>132わかりにくいと思った
こういう場合もっと例が何パターンかないとね
0180デフォルトの名無しさん2014/06/24(火) 23:13:47.21ID:nNYqUb+/
>>176
N番目まで厳密に規定してなくて並びが同じものを探す話?
0181 ◆0qAv26otVI 2014/06/24(火) 23:14:13.24ID:x7MmALRG
1234.
 214.
1桁目を左から数えないという命題が俺には見つからん。
0182デフォルトの名無しさん2014/06/24(火) 23:16:41.04ID:nNYqUb+/
あ!やーっと理解した。
これ、分割した数字を右から左に精査するんか。
0183デフォルトの名無しさん2014/06/24(火) 23:17:24.35ID:+d9rugo5
>>177
例2が意味するところは、
1) 1の桁と100の桁が4と2で揃っているから-->2
2) 上位桁から揃えるルールではない。それだと-->0 となるはず。
3) 桁の小さい方の整数を自由に移動できるルールだとしたら答えは 0または2になるが、
 -->2と答えているから、自由に移動できるルールではない。
0184デフォルトの名無しさん2014/06/24(火) 23:20:10.30ID:hFZ0LSQg
つ位
0185デフォルトの名無しさん2014/06/24(火) 23:23:51.66ID:9vAhTnrq
1桁目=一の位
2桁目=十の位
3桁目=百の位
0186デフォルトの名無しさん2014/06/24(火) 23:26:16.35ID:nNYqUb+/
PG脳だから、1234分割したら1がIndex=0だわ。
これはすまんかった。算数だったな。根本的に失念していた。
俺のミスだわ。本当にごめんなさい。

しばらく反省するために書くのやめるか。
なんてこった。こんな基本的なこと忘れてるなんて。あいたたたたた。

どう誤ればいいのかよくわからんけど、ほんとにすまんかった。
0187デフォルトの名無しさん2014/06/24(火) 23:28:49.66ID:+d9rugo5
>>185
そうですね。位というのだった。
0188デフォルトの名無しさん2014/06/24(火) 23:29:46.27ID:nNYqUb+/
ってわけで、コードはめちゃくちゃ間違ってマース。
なぜ動いてるのかもわかりませーん。たまたま答えだけ合わせました。
ってことになるな。アー怖い。
0189デフォルトの名無しさん2014/06/24(火) 23:30:51.58ID:+d9rugo5
それはともかく、

-1112,110 などがほとんど解答は上手く行かないのではないか。
0190デフォルトの名無しさん2014/06/24(火) 23:31:51.46ID:WID+irzQ
誤る→謝る
01911892014/06/24(火) 23:32:35.09ID:+d9rugo5
「ほとんどの解答は」ですね。
0192デフォルトの名無しさん2014/06/24(火) 23:33:27.52ID:TXJiobF4
>>179
そうかー?むしろ例は必要十分じゃね
>>132は問題文にちょっと不備があるけど、例で補えてると思うけどな

「数字が一致している桁の個数を求める」じゃなくて
「同じ位同士の数字を比較し、一致している個数を求める」
とかだったら例がなくても解けそう。
0193デフォルトの名無しさん2014/06/24(火) 23:35:30.49ID:nNYqUb+/
>>189
俺のuint64_tなので、裏返って何億とかの数字になっちゃうー。
0194デフォルトの名無しさん2014/06/24(火) 23:36:32.98ID:6LnPDmO+
>>186
今回の件で、どちらかというと認識が特殊な状態に陥ってたのは君の方だったね。
(相手が特殊と考えるより自分が先に特殊ではないのかと疑う)謙虚な態度でいた方が、一旦陥った罠から脱出はしやすいと思う。

IQテストとかだと、君のようにこういう「桁」という言葉の常識に囚われない見方も、大切ではある。
0195デフォルトの名無しさん2014/06/24(火) 23:42:11.14ID:X3HExdh5
23:45に投稿するので構えてて
一番早く正解できるのは誰かな
0196デフォルトの名無しさん2014/06/24(火) 23:46:10.56ID:nNYqUb+/
>>194
うん、ごめんね。
プログラムやってると、常識がうっとおしくなって忘却しちゃったんだよ。
それでうまくいってたしなぁ。うーん。こんな罠が・・・。Orz
気を付けてたはずなのに。うーむ。

いい経験になった。あいたたたたた・・・。
0197デフォルトの名無しさん2014/06/24(火) 23:49:11.40ID:X3HExdh5
アルファベットの小文字aからzで成り立つS(0≦S≦100)が標準入力から与えられる。
例に沿って連続する文字をカウントするプログラムを作成せよ。

出力の最後に改行を挿入すること。
標準入力から以下の形式で与えられる。
S

例)
In:
aaaaaaaaaabbbbbbbbbbbbcccccccddddddddddeeeeeeefffffffffghiiiiiiiii

Out:
a10b12c7d10e7f9ghi9

In:

Out:
0
0198デフォルトの名無しさん2014/06/24(火) 23:49:41.62ID:+d9rugo5
さらにいうと、
>>132は数字の比較を求めていて、

-123,-3423 の場合、剰余数が -2 と -2、-3 と -3 で --> 2 となるのでも間違ってはいないが、

何か仕様と遠い気がする。 -2 と 数字の'2'は同じものではない。
0199デフォルトの名無しさん2014/06/24(火) 23:50:24.19ID:X3HExdh5
In:
abcddd

Out:
abcd3
0200デフォルトの名無しさん2014/06/24(火) 23:51:06.51ID:X3HExdh5
似た問題がAtCoderでも出たから余裕かな
0201デフォルトの名無しさん2014/06/25(水) 00:11:17.61ID:H0BLkDsi
>>197
なんか不格好になっちゃったw
C
http://ideone.com/jtFVPF
0202デフォルトの名無しさん2014/06/25(水) 00:20:29.98ID:B1Ok+FAF
>>197
http://ideone.com/B0eki7
ほぼC。2番目か。残念。あってるかな?
結構ヤケになって書いたので間違ってるかも。
さて、しばらくミュートします。みなさま、また逢う日まで!
0203デフォルトの名無しさん2014/06/25(水) 01:05:21.52ID:R/pd8eJN
第2問:2つの整数が与えられたとき、桁数が同じ場合を求める。 指数関数は使わないこと。
例:
110, 119 -> T
-110, -119 -> T
-110, 119 -> F
1234, 214 -> F
567, 23 -> F
567, -23 -> F
0204デフォルトの名無しさん2014/06/25(水) 01:52:18.87ID:WPdQrCl7
文字列としての長さと富豪の有無を確認するだけ
0205デフォルトの名無しさん2014/06/25(水) 04:22:41.38ID:/nsw1r0I
>>203
http://peace.2ch.net/test/read.cgi/tech/1313183984/757
0206デフォルトの名無しさん2014/06/25(水) 04:48:41.24ID:/nsw1r0I
>>197
http://peace.2ch.net/test/read.cgi/tech/1313183984/758
ideone の runtime error ってなんだろう?
0207デフォルトの名無しさん2014/06/25(水) 07:21:14.49ID:f3dQ4AsB
>>197 Prolog

'アルファベットの小文字aからzで成り立つS(0≦S≦100)が標準入力から与えられる。連続する文字をカウントする。出力の最後に改行を挿入すること。' :-
    write('In: '),read(_文字列),
    '連続する文字をカウントする'(_文字列,'',_出力文字列),
    writef('Out:\n%t\n',[_出力文字列]).

'連続する文字をカウントする'('','') :- !.
'連続する文字をカウントする'(_文字列,_出力文字列) :-
    文字列の先頭から同一文字を切り取る(_文字列,_連続文字,_連続文字数,_残り文字列),
    '連続する文字をカウントする'(_残り文字列,_残り出力文字列),
    atomic_list_concat([_連続文字,_連続文字数,_残り出力文字列],_出力文字列).

文字列の先頭から同一文字を切り取る(_文字列,_連続文字,_連続文字数,_残り文字列) :-
    sub_atom(_文字列,0,1,_,_連続文字),
    連続文字数と残り文字列を得る(_文字列,_連続文字,_連続文字数,_残り文字列).

連続文字数と残り文字列を得る(_文字列,_連続文字,_連続文字数,_残り文字列) :-
    sub_atom(_文字列,_連続文字数,1,_,_文字),
    \+(_連続文字 = _文字),
    sub_atom(_文字列,_連続文字数,_,0,_残り文字列),!.
連続文字数と残り文字列を得る(_文字列,_連続文字,_連続文字数,'') :-
    atom_length(_文字列,_連続文字数).
0208デフォルトの名無しさん2014/06/25(水) 07:33:17.91ID:5ZruJZzN
>>197
http://ideone.com/nftddV

>>203
http://ideone.com/NqH3JC
02092082014/06/25(水) 07:51:38.73ID:5ZruJZzN
訂正。

>>197 Perl
http://ideone.com/IAKmMX
0210デフォルトの名無しさん2014/06/25(水) 08:00:42.64ID:f3dQ4AsB
>>203 Prolog

'2つの整数が与えられたとき、桁数が同じ場合を求める。 指数関数は使わないこと。'(_整数_1,_整数_2) :-
    number_chars(_整数_1,_数字ならび_1),
    number_chars(_整数_2,_数字ならび_2),
    length(_数字ならび_1,_桁数),
    length(_数字ならび_2,_桁数).
0211デフォルトの名無しさん2014/06/25(水) 08:24:39.87ID:8w+cRTmX
>>197 Io
a := 0
c := 0
File standardInput foreach(v,
if(v != a,
write(if(c > 1, c, ""), v asCharacter)
c = 1
,
c = c + 1
)
a = v
)
c println
02121322014/06/25(水) 09:30:08.51ID:8w+cRTmX
負の数については考えていなかったので整数ではなく自然数に変えさせてください。
それから>>203は別の人の出題です。
0213デフォルトの名無しさん2014/06/25(水) 09:35:34.23ID:mgUMoqXV
>>203
ttp://ideone.com/GbaVHe
0214デフォルトの名無しさん2014/06/25(水) 12:27:10.04ID:8w+cRTmX
>>197 J
f=:[:;('1'-.~":)(L:0)@(~. (;"_1) (#/.)~)
echo f stdin''


f'aassd'
a2s2d
02152072014/06/25(水) 16:49:42.18ID:f3dQ4AsB
>>207 これ間違っていた。最初の述語の

    '連続する文字をカウントする'(_文字列,'',_出力文字列),

% これ3引数で呼び出しているが、これは第二引数を削除し忘れ。

'アルファベットの小文字aからzで成り立つS(0≦S≦100)が標準入力から与えられる。連続する文字をカウントする。出力の最後に改行を挿入すること。' :-
    write('In: '),read(_文字列),
    '連続する文字をカウントする'(_文字列,_出力文字列),
    writef('Out:\n%t\n',[_出力文字列]).

% が正しい。
0216デフォルトの名無しさん2014/06/25(水) 19:09:52.11ID:AAkwOzRQ
平面上に二つの長方形PとQが与えられた時に、
それらの共通部分の長方形を求めたいのですが、お手軽な方法はありますか?
P、Qは、以下のように4つの頂点座標が与えられているとして。
座標は整数値とします。
P12(x1p,y2p)    P22(x2p,y2p)
P11(x1p,y1p)    P21(x2p,y1p)

Q12(x1q,y2q)    Q22(x2q,y2q)
Q11(x1q,y1q)    Q21(x2q,y1q)
0217デフォルトの名無しさん2014/06/25(水) 19:15:34.66ID:G8i3M3G9
Blogopolisから学ぶ計算幾何
第9回 凸多角形の交差計算(前編)
http://gihyo.jp/dev/serial/01/geometry/0009


凸多角形の共通部分
http://www.prefield.com/algorithm/geometry/convex_intersect.html
0218デフォルトの名無しさん2014/06/25(水) 20:11:25.97ID:AAkwOzRQ
情報ありがとうございます。でもちょっと難しそうですね。
長方形の場合に限定して、誰かプログラム作ってください。
0219片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0 2014/06/25(水) 20:28:19.98ID:n7E3MpSB
bool is_rect_empty(const rect* rc)
{
return rc->x0 >= rc->x1 || rc->y0 >= rc->y1;
}

bool intersect_rect(rect *dst,const rect*src1,const rect*src2)
{
if (is_rect_empty(src1) || is_rect_empty(src2) ||
src1->x0 >= src2->x1 || src2->x0 >= src1->x1 ||
src1->y0 >= src2->y1 || src2->y0 >= src1->y1)
return false;

dst->x0 = max(src1->x0,src2->x0);
dst->x1 = min(src1->x1,src2->x1);
dst->y0 = max(src1->y0,src2->y0);
dst->y1 = min(src1->y1,src2->y1);
return true;
}
0220デフォルトの名無しさん2014/06/25(水) 20:36:42.95ID:QX6G9n4a
>>216
2つの線分(x1p, x2p)、(x1q, x2q)が重なる場合は、
(x1p - x2q) * (x2p - x1) < 0
となる。
例えば下図のとおり。
x1p----------x2p
    x1q---------------x2q

yについても同様に、重なり有無を判定出来る。
x, yの両方に重なりがあれば、重なる長方形エリアが有る、という事。

重なるエリアの座標の求め方。
まずxについては
(x1p, x2p, x1q, x2q)をソートした結果が(x1, x2, x3, x4)とすると
(x2, x3)が重なるエリアのx座標。

yも同様に求める。
0221デフォルトの名無しさん2014/06/25(水) 20:58:06.95ID:fIlVvDUl
>>197
@Mathematica

countSerialCharacter[s_]:=s//
  Characters//
  Tally//
  Flatten//
  Map[If[#==1,"",#]&,#]&//
  Map[ToString,#]&//
  StringJoin//
  #<>"\n"&;
0222デフォルトの名無しさん2014/06/25(水) 21:13:44.19ID:8w+cRTmX
>>217
関係ないけど「凸多角形」をみると凸という字は凸多角形じゃないと思ってしまう
0223デフォルトの名無しさん2014/06/25(水) 21:30:53.24ID:kfu/Y8iA
>>197 Python

import re, sys
s = "aaaaaaaaaabbbbbbbbbbbbcccccccddddddddddeeeeeeefffffffffghiiiiiiiii"
if len(sys.argv) >= 2:
  s = sys.argv[1]
print "".join(["{}{}".format(m.group(1),len(m.group(0))) for m in re.finditer(r"([a-z])\1*", s)])
0224デフォルトの名無しさん2014/06/26(木) 06:49:20.73ID:3bBuyKJI
お題:自然数nが偶数なら2で割り、奇数なら1を足して3を掛ける操作を値が3になるまで繰り返す。10000以下でこの操作の繰り返し回数が最大となる自然数nを求める。
0225デフォルトの名無しさん2014/06/26(木) 09:15:51.05ID:anyqRfvP
>>224 Common Lisp
(format t "~{n=~D, ~D steps.~}~%"
(loop for n from 1 upto 10000
collect (loop for count upfrom 0
for i = n then (if (evenp i) (/ i 2) (* (+ i 1) 3))
until (= i 3)
finally (return (list n count)))
into seq
finally (return (first (sort seq #'> :key #'second)))))

出力:
n=7421, 239 steps.
0226デフォルトの名無しさん2014/06/26(木) 09:47:24.38ID:jelhdoL6
>>219
有難うございました。
たいへん感謝しております。さっそく利用させて頂きます。
>>220
解説ありがとうございました。理解できました。
皆さん頭いいですね。
0227デフォルトの名無しさん2014/06/26(木) 11:06:46.24ID:j1I0ttpi
>>226
x0<=x1かつy0<=y1を前提にしていますのでご注意を。
0228デフォルトの名無しさん2014/06/26(木) 11:47:23.22ID:SC8QqvR3
≧とか≦ってかけよ機種依存文字じゃないんだぞ
0229デフォルトの名無しさん2014/06/26(木) 12:26:30.27ID:a5DVBYeG
実際のコーディングには使えないじゃんか
0230デフォルトの名無しさん2014/06/26(木) 12:43:55.13ID:b6/TNK68
>>224 Perl
http://ideone.com/1L8Dc1
0231デフォルトの名無しさん2014/06/26(木) 18:05:42.04ID:oxBW6fYk
>>220
これはひどい
0232デフォルトの名無しさん2014/06/26(木) 18:25:17.39ID:3bBuyKJI
>>231
ちゃんと理由も書かずにそんなことを言う方がひどい
0233デフォルトの名無しさん2014/06/26(木) 21:02:03.97ID:UtgvthMy
>>224
@Mathematica

g[nmax_]:=Module[{f},

  f[n_]:=NestWhileList[
    Which[
      EvenQ[#],#/2,
      True,3*(#+1)]&,
    n,
    #!=3&];

  nmax//
    Range[1,#]&//
    Map[{#,Length[f[#]]-1}&,#]&//
    Sort[#,#1[[2]] > #2[[2]]&]&//
    First//
    "n="<>ToString[#[[1]]]<>", "<>ToString[#[[2]]]<>" steps"&
];
0234デフォルトの名無しさん2014/06/27(金) 01:15:21.35ID:z83xp8mB
>>224
ttp://ideone.com/thhLQG
0235デフォルトの名無しさん2014/06/27(金) 06:05:09.55ID:6gnfhLnK
>>234
とってもわかりやすく美しいコーディングだな
0236デフォルトの名無しさん2014/06/27(金) 06:15:11.42ID:/tBLbKnn
オブジェクト指向は愚かな考え。
http://peace.2ch.net/test/read.cgi/tech/1393660194/
0237デフォルトの名無しさん2014/06/27(金) 08:13:07.91ID:6gnfhLnK
>>224
Scheme
ステップ数を求める関数を再帰にしてみた。
Schemeなので末尾再帰の最適化が効いているとはいえシンプルなループより20%ほど遅い
http://codepad.org/Kv6PMM5u
0238デフォルトの名無しさん2014/06/27(金) 08:13:34.08ID:6gnfhLnK
>>236
そんな君は硬直頭乙
0239デフォルトの名無しさん2014/06/27(金) 09:47:14.96ID:cYIjyZKJ
ここでは解が一個だから結果してよいのだが、その保証はどのように得るのかな。
0240デフォルトの名無しさん2014/06/27(金) 10:25:12.24ID:+d6mrCHp
>>237
すごくSchemeっぽくない
02412242014/06/27(金) 12:00:59.02ID:WBIkvaOn
>>239
>>224
複数解の可能性はありますね。
後追いですが、複数解の場合はnの最大値としてください。
0242デフォルトの名無しさん2014/06/27(金) 13:16:22.62ID:1+Sp/Gzh
>>240
まあ、超初心者だし
Schemeぽくかくとどうなるの?
0243デフォルトの名無しさん2014/06/27(金) 13:18:34.88ID:T6qhwk5c
S(1≦S≦10)
L(100≦L≦100)
標準入力から以下の形式で与えられる
S L

例を参考にoとxを配置せよ

例
3 2
oooxxx
oooxxx
oooxxx
xxxooo
xxxooo
xxxooo

2 3
ooxxoo
xxooxx
ooxxoo

1 1
o

2 1
oo
0244デフォルトの名無しさん2014/06/27(金) 13:19:07.70ID:T6qhwk5c
その言語で一番短いコードを書いた奴が勝ち
0245デフォルトの名無しさん2014/06/27(金) 13:40:40.34ID:1+Sp/Gzh
俺は反対
ていうか、俺は勉強中だし短く書かない
0246デフォルトの名無しさん2014/06/27(金) 14:03:08.81ID:TynlDK3k
考えてみたけど、「3 2」と「2 3」から発展させることが俺には無理だwww
0247デフォルトの名無しさん2014/06/27(金) 14:13:23.67ID:IIJLJhWZ
発展どころか規則がさっぱりわからない
「出力例から仕様を推測せよ」というお題は苦手
0248デフォルトの名無しさん2014/06/27(金) 14:18:03.91ID:6gnfhLnK
規則は解った、コーディングしてくる
0249デフォルトの名無しさん2014/06/27(金) 14:29:40.92ID:jrf75mY1
そもそもLが(100≦L≦100)を満たしてないよね?
0250デフォルトの名無しさん2014/06/27(金) 14:32:19.40ID:6gnfhLnK
func(S L)で
規則1 一つのブロックの長さはS
規則2 一列の長さはS*L
規則3 げ・・わからなくなった
0251デフォルトの名無しさん2014/06/27(金) 14:34:06.26ID:6gnfhLnK
>>249
そこは(1≦L≦100)の間違いだろ(と見なした)
0252デフォルトの名無しさん2014/06/27(金) 14:34:31.27ID:6gnfhLnK
寝る
■ このスレッドは過去ログ倉庫に格納されています