- 1 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 09:00:22.10 ID:xqEdXdr6.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/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part15 mevius.5ch.net/test/read.cgi/tech/1564310397/
- 2 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 10:53:15.74 ID:uilOlN75.net]
- >>1 おつ
- 3 名前:デフォルトの名無しさん [2019/11/17(日) 17:37:39.46 ID:8gWobnsK.net]
- val 乙 = "乙"
prontln(乙)
- 4 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 02:35:04.18 ID:t9gVOJNg.net]
- お題:
https://i.imgur.com/JsMU4uh.jpg 明度が0〜9までのグレーの四角がグラデーション状に横並びにならんでいるとします この状態だと隣接している四角と四角の明度の差が少ないので境目が見えづらいです 全ての四角同士の明度差ができるだけ大きくなるように並び替えるにはどういうロジックが考えられるでしょう? 四角の数が増えても対応できるような汎用的なロジックが望ましいです 両端は固定のままが理想ですが必須要件ではありません ・ボツ例:1〜4まで一つおきに左右端を入れ替える (1) 1と8を入れ替える (2) 2と7はそのまま (3) 3と6を入れ替える (4) 4と5はそのまま ※これだと4と5が隣り合ったままで明度差が少ない箇所が残るので最適解ではない
- 5 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 05:41:33.12 ID:8+qUVevR.net]
- Σ|a_n - a_{n+1}| を最大化する問題なのか
inf{|a_n - a_{n+1}|} を最大化する問題なのか どっちなんだ?
- 6 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 11:50:33.33 ID:BCetHxzu.net]
- >>4
力業で確認したら >>5 の判定ルールで前者後者ともに最大になるのは [0, 5, 1, 6, 2, 7, 3, 8, 4, 9] だけみたい、前者 41、後者 4 前者だけだとスコア 41 で 576通り、後者だけだとスコア 4 で 2通り そのもう一つの解は [0, 4, 8, 3, 7, 2, 6, 1, 5, 9] で前者の判定ルールだとスコア 39 [0, 5, 1, 6, 2, 7, 3, 8, 4, 9] を偶数項と奇数項に分けると…
- 7 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 18:43:37.24 ID:DjoGz+4S.net]
- >>4 Java (両端固定ではない
https://ideone.com/tCrXMN >>6 つまりこういうことかの? 両端固定で奇数個の場合はどうなるんじゃろ
- 8 名前:デフォルトの名無しさん [2019/11/18(月) 20:03:36.58 ID:EbN/HVpO.net]
- >>4
両端固定で最小隣接差を最大化する条件で回答する。Rですべての並べ方を虱潰しに 調べるのが https://ideone.com/paKF2d で、結果は>>6が言う通りになる。 n = 10 ではすぐに終わるが、それを超えると時間がかなりかかるし、環境によっては メモリ不足になる。 もう少し効率的に調べるのが https://ideone.com/OsmpbQ で、n = 16 までは すぐに終わる。それを超えると時間がかかるように段々なるので、さらなる効率化が 必要。 n = 10 と n = 16 の結果から、nが偶数の場合は>>6が言うように規則性が見られ、 nが大きくなっても並べ方は常に2通りで、例えば n = 256 のときは 0, 127, 254, 126, 253, 125, 252, ..., 2, 129, 1, 128, 255 0, 128, 1, 129, 2, 130, 3, ..., 253, 126, 254, 127, 255 になると予想されるが、それが正解であることを理論的に説明しないといけないな。
- 9 名前:デフォルトの名無しさん [2019/11/21(木) 21:52:25.50 ID:1mUnuvuP.net]
- >>4
【nが偶数の場合の>>8の予想を理論的に説明する】(等幅フォントでの表示推奨) n = 10のとき、最小階差をd >= 6と仮定すると 0: 4, 5, 6, 7, 8 4に隣接できる数はなく、d = 5と仮定すると9だ 1: 5, 6, 7, 8, 9 けなので、数列が途切れてしまって続かない。 2: 6, 7, 8, 9 よってd >= 5はあり得ず、d = 4から調べれば良 3: 7, 8, 9 い。d = 4のとき各数が隣接できる数を列挙する 4: 0, 8, 9 と、右図のようになる。 5: 0, 1, 9 6: 0, 1, 2 7: 0, 1, 2, 3 8: 0, 1, 2, 3, 4 9: 1, 2, 3, 4, 5 これらの候補からそれぞれ2個(両端の0と9では 0: (4), (5), >6<, >7<, >8< 1個)ずつを選ぶ問題となる。4で、0と9を両方選 1: [5], 6, 7, 8, >9< ぶと0→4→9で順列が終わってしまうため片方し 2: 6, 7, 8, >9< か選べないから、8を必ず選ぶことが確定する。 3: 7, 8, >9< 同様に5で1が確定する。選択確定に[]、どちら 4: (0), [8], (9) か一方を選択に()、非選択の確定に><の印をつ 5: (0), [1], (9) けると、右図になる。 6: >0<, 1, 2 7: >0<, 1, 2, 3 8: >0<, 1, 2, 3, [4] 9: >1<, >2<, >3<, (4), (5)
- 10 名前:デフォルトの名無しさん [2019/11/21(木) 21:53:22.41 ID:1mUnuvuP.net]
- 3と6で候補がそれぞれ2個に絞られたから、それ 0: (4), (5), >6<, >7<, >8<
らが選択確定となり、右図になる。 1: [5], [6], >7<, >8<, >9< 2: [6], 7, >8<, >9< 3: [7], [8], >9< 4: (0), [8], (9) 5: (0), [1], (9) 6: >0<, [1], [2] 7: >0<, >1<, 2, [3] 8: >0<, >1<, >2<, [3], [4] 9: >1<, >2<, >3<, (4), (5) 2と7で残り候補がそれぞれ1個に絞られたから、 0: (4), (5), >6<, >7<, >8< それらが選択確定となり、結局、可能な並べ方 1: [5], [6], >7<, >8<, >9< は右図のように0の次に4か5から始まる2通りし 2: [6], [7], >8<, >9< かないことが分かる。 3: [7], [8], >9< 4: (0), [8], (9) 5: (0), [1], (9) 6: >0<, [1], [2] 7: >0<, >1<, [2], [3] 8: >0<, >1<, >2<, [3], [4] 9: >1<, >2<, >3<, (4), (5) 同様にして、nが偶数の場合を一般化し、中央の2つの数n / 2 - 1とn / 2でそれぞれ n - 2と1を選択確定、0とn - 1を一方選択とするところから始めて、順々に選択確定 させていくことができる。 >>8の予想を理論的に説明できたので、それに基づくプログラムを晴れて作成すると、 https://ideone.com/D3zdgX になる。
- 11 名前:デフォルトの名無しさん [2019/11/21(木) 21:54:24.25 ID:1mUnuvuP.net]
- nが奇数の場合にも偶数の場合と似たようにしてd >= (n - 1) / 2 はあり得ず、
d = (n - 1) / 2 - 1 から調べれば良いことが分かるが、偶数の場合と違い 選択確定できる数はない。>>8の元請け関数のforループの開始値をnではなく n %/% 2 - 1に置き換えるだけでは、実行時間は5〜6%くらいしか短縮されない。 偶数の場合のような図の作成により、調べる組み合わせを減らしていくことは できるが、プログラムを書くのはかなり面倒そう。
- 12 名前:デフォルトの名無しさん mailto:sage [2019/11/21(木) 22:40:32.33 ID:vr0RSw67.net]
- >>4 Squeak Smalltalk。両端固定せず、対称排除なしの虱潰しで。
| min | min := 0 -> OrderedCollection new. (0 to: 9) permutationsDo: [:perm | | curr | curr := (perm overlappingPairsCollect: #-) abs min. curr = min key ifTrue: [min value add: perm copy]. curr > min key ifTrue: [min := curr -> (OrderedCollection with: perm copy)] ]. ^min value asArray "=> #(#(4 9 3 8 2 7 1 6 0 5) #(5 0 6 1 7 2 8 3 9 4)) " "Pharo向け => ws.stfx.eu/CFADPDGFMTJC "
- 13 名前:デフォルトの名無しさん mailto:sage [2019/11/22(金) 20:06:41.59 ID:EyqF2Cmi.net]
- お題:読み手を一瞬戸惑わせよ
https://ideone.com/OCwpPB
- 14 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 05:56:02 ID:KvoIJqUR.net]
- https://twitter.com/AtomDynamics16/status/1197979782719229952
キー入力を一定時間ごとに送るソフトを書いたのだけど、やっぱりグレーですか? パケット改変して無くて、メモ帳ではうまくいってる。 UOクライアントに使うのが怖くて躊躇している。 (deleted an unsolicited ad)
- 15 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 06:01:06 ID:KvoIJqUR.net]
- あ、UOスレに書いたものだと・・・。
- 16 名前:デフォルトの名無しさん [2019/11/23(土) 22:51:11.49 ID:ubdNKuk5.net]
- >>4を>>11の方式で求めるプログラムを書いてみた: https://ideone.com/14wgia
nが偶数の場合、n = 8までは>>8の2
- 17 名前:番目のプログラムと比べて遅いが、n = 10, 12,
14, 16, 18, 20ではそれぞれ1.78倍、7.16倍、49.8倍、327倍、3120倍、30800倍の 速度になり、差がどんどん開いていく。n = 256でも1秒未満で求められる。 nが奇数の場合、n = 11までは遅いが、n = 13で同程度になり、n = 15, 17, 19, 21では それぞれ3.25倍、12.6倍、58.8倍、325倍の速度で、差がやはりどんどん開いていく。 nが2大きくなるごとに並べ方の通り数が2倍以上に増えるようなので、n = 255では どんなアルゴリズムを使ってもコンピュータの性能限界をはるかに超えてしまう。 [] - [ここ壊れてます]
- 18 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 20:41:58.58 ID:NMcltmqU.net]
- 今日は夕焼けが超絶綺麗だったよ。
今まで見たことないくらい。 まだきれいになるだろうか、というのと、これ一回で終わりだろうか。 というのがあった。
- 19 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 01:25:34.58 ID:SBJvKXmI.net]
- お題:Diffアルゴリズムを実装せよ。
差分アルゴリズム、さんぷる。 1:abcdef 2:abdef -> -3:c 3:bcdef -> -1:a,+3:c 4:abcdef -> +1a 以上がオレの考えるアルゴリズムだが、 もっとより良いアルゴリズムが世の中にはあるはずなので、 実装しませんか?
- 20 名前:デフォルトの名無しさん [2019/11/25(月) 09:24:47.39 ID:veETdbiQ.net]
- >>18
それはアルゴリズムではなく入力と出力のサンプル。 まあとにかく足された文字は+と位置と足された文字(または文字列?)を出して引かれた文字は-と位置と文字を出す仕様ということだな。 で、位置は先頭が1だと。 後で時間が空いたら考えとく。
- 21 名前:デフォルトの名無しさん [2019/11/25(月) 22:13:03.88 ID:UwQDpJpg.net]
- >>18
https://ideone.com/3VET5r Rには編集前後の文字列のレーベンシュタイン距離を求める便利な関数adistが 備わっていて、1文字の挿入、削除、置換操作が必要な位置をI, D, S、操作が不要な 位置をMで示す文字列を返してくれる。例えば、"abdef" と "bcdef" を与えると、 "DMIMMM" が得られる。あとは、>>18の出力形式にちょっと加工するだけ。
- 22 名前:デフォルトの名無しさん [2019/11/26(火) 01:23:24 ID:q8waUqPK.net]
- >>18
Kotlin https://paiza.io/projects/KUt3cPLxHrEYUi0NBvFNow 1文字以上の追加や削除も出せるようにしてある。
- 23 名前:デフォルトの名無しさん [2019/11/26(火) 11:38:36 ID:JjgFJEIb.net]
- >>18
C https://paiza.io/projects/NTgg4131JYHSiSqBTtNZTw
- 24 名前:デフォルトの名無しさん [2019/11/26(火) 15:12:16 ID:JjgFJEIb.net]
- >>18
Perl https://paiza.io/projects/71IZPLpIhoNPEexVVb8cCQ あまりPerlの特性を生かせてないような、かといって今のところこれぐらいしか思い浮かばない。
- 25 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:15:14 ID:FF/Zqwz/.net]
- >>18
やっぱお前ら高性能だな。言い方悪いけど。
- 26 名前:デフォルトの名無しさん [2019/11/28(木) 17:24:57.64 ID:mMrv+0Zt.net]
- 高性能じゃない俺にもできるお題をたのむ
- 27 名前:デフォルトの名無しさん [2019/11/28(木) 20:14:43.82 ID:mbBdSv/T.net]
- お題:自然数aをいくつか[※1]の自然数の組の和で表すとき、それらの自然数の組の
積[※2]が最大となるような自然数の組を、aが1から100までに対して表示せよ[※3]。 [※1] 1つでも構わず、その場合には和も積も自然数n自身となる。 [※2] 例えば、7を1+2+4と表せば積は1*2*4=8、2+5と表せば積は2*5=10であり、 後者の積の方が大きい。 [※3] 最大となるような自然数の組が複数ある場合は、すべての組を表示せよ。
- 28 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 20:24:13.35 ID:522sTouZ.net]
- >>26
同じ数字は何回も使っていいの?
- 29 名前:デフォルトの名無しさん [2019/11/28(木) 20:30:31.52 ID:mbBdSv/T.net]
- >>27
可。
- 30 名前:デフォルトの名無しさん [2019/11/28(木) 21:08:44.29 ID:pgFu+V4e.net]
- 後で虱潰しに全部計算するやつでも作るかな
- 31 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 21:12:26.03 ID:522sTouZ.net]
- 同じ数字を何回も使っていいんだったら2と3だけで作って、2*2を4と置き換えたものを追加(※3のため)すればええんかね?
aが1の場合は1 aが偶数の場合2^(a/2) aが3以上の奇数の場合2^((a-3)/2)+3
- 32 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 21:20:11.41 ID:EjjwcG+D.net]
- f(a,n)=(a/n)^n
df/dn =(a/n)^n * (-1+log[a/n]) な感じなので ne=aで増減変化な気がするから それ前後の整数2つだけしらべれば大丈夫? a<=100, a>=1 だから200回調べる感じ
- 33 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 22:03:53.95 ID:uZ7jROyS.net]
- 3で分割できている間は3で残りが1になってしまう場合は最後の4を2x2にするのが最大っぽいね
7だったら3+3+1ではなくて3+2+2 12は3+3+3+3 13は3+3+3+2+2 100までずっとこれ 最大値しか表示しないけど https://ideone.com/Ck54FP
- 34 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 22:37:08.59 ID:PoPpbfsh.net]
- 求める値をf(a)とする
b+c=a, b<=c, b>0, c>0 となる全てのb,cに対して max { f(b) f(c) } と a の大きい方 となる f(a) を a=1 の時から順番に調べれば良い aが十分大きくて小数も許すなら e=2.7182818... に分けるのが最善 整数なら>>32の通りかな?
- 35 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 22:43:58.67 ID:522sTouZ.net]
- あー、2より3の方がよかったかー
- 36 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 22:48:21.15 ID:PoPpbfsh.net]
- 1以外の時には1が出ない
5以上は2個以上に分けた方が大きい 4は2+2にしても同じ 6は2+2+2より3+3よ方が大きい だから a>=2の時には 2、3、4以外の値はあらわれず 2と4をあわせて6以上にはならないことがわかる つまり、(順番を無視すれば)以下の形のみになる 3+3+...+3 3+3+...+3+2 3+3+...+3+2+2 3+3+...+3+4
- 37 名前:デフォルトの名無しさん [2019/11/29(金) 15:19:10.07 ID:Ursk3Xfl.net]
- >>35
なぜそれで「だから」となるのかわからない。
- 38 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 17:42:19.99 ID:YkvT9y9m.net]
- 2、3、4以外の値はあらわれず
2と4をあわせて6以上にはならない どっちがわからない?
- 39 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 17:48:24.95 ID:YkvT9y9m.net]
- .... が正として、
.... * n * 1 < .... * (n+1) .... * n < .... * floor(n/2) * ceil(n/2) @nが5以上 .... * 2 * 2 * 2 < .... * 3 * 3 .... * 4 = .... * 2 * 2
- 40 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 17:57:55.99 ID:YkvT9y9m.net]
- 一応、
加算と乗算は交換法則と結合法則が成り立つ ってのも必要な条件です
- 41 名前:デフォルトの名無しさん [2019/11/29(金) 20:54:17.14 ID:dycaAJcC.net]
- >>37
なぜ現れないとわかるのか?
- 42 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 21:03:35.14 ID:M9vvD3Fp.net]
- >>40
38で書いてくれてる 5以上なら分割したほうが大きくなるから最終的な数字は5未満になる
- 43 名前:デフォルトの名無しさん [2019/11/29(金) 21:19:59.63 ID:dycaAJcC.net]
- え?そうなの?わかりづらいな。見てもわからんよ。
- 44 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 21:29:43.92 ID:57KUyJj8.net]
- なんでわからんのかがわからん
- 45 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 21:39:03.80 ID:M9vvD3Fp.net]
- 38の内容は
1行目で1が無意味なので1が出ない 2行目で5以上は分割したほうがでかくなる 3行目で2*2*2と3*3は同じ 4行目で2*2と4は同じ を説明している 3行目4行目はパターンを列挙するために必要な内容
- 46 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 02:03:19 ID:8/O2xSEo.net]
- 5以上は分割した方が大きくなる事に関しては数学的に証明できてるってこと?
- 47 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 02:12:04 ID:NRfKrTi3.net]
- したつもり en=aのような感じのあれ
- 48 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 02:28:06 ID:Qe4NE6bn.net]
- n/2*n/2=n^2/4
だからn=4ならnと同じ、5以上なら分子が大きくなるからnより大きくなる 整数でに分割なので↑は偶数のときに限定 奇数のときは (n-1)/2*(n+1)/2=(n^2-1)/4 だからnが5以上ならnより大きい
- 49 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 07:09:20 ID:WebQyLi7.net]
- >>45
より大きくなる具体的な分け方を>>38に書いた 半分の、小数点以下切り上げ 半分の、小数点以下切り捨て に分ける これの方が大きい証明はとても簡単 (でもあまりエレガントではない) もちろんこの分け方が最大というわけではないが 最大の分け方が5以上を含むと仮定すると、 より大きなものが存在するので矛盾 だから5以上は含まない と言う事が出来る
- 50 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 07:13:05 ID:WebQyLi7.net]
- 最大となる分け方が存在する
ってのは有限性から明らか つまり、 少なくとも1個の分け方が存在する 分け方は有限個しかない から明らか
- 51 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 11:15:44.62 ID:WebQyLi7.net]
- n ≧ 5 の時
floor(n/2) * ceil(n/2) - n > { (n - 1) / 2 } * { n / 2 } - n = n (n - 5) / 4 ≧ 0 よって n < floor(n/2) * ceil(n/2)
- 52 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 17:07:38.94 ID:0h0IqWCg.net]
- これでわからんのなら数学じゃなくて日本語が不自由と断言してよいレベルだな
- 53 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 17:44:52.22 ID:hV/U21TG.net]
- >>26
https://ideone.com/5DzbUt C++。二進数最強伝説を信じて書いてみたよ。 数学出来ないからいつも通り適当に解いてる。。。
- 54 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:01:19.21 ID:hV/U21TG.net]
- あ、間違ってら。
- 55 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:08:13.55 ID:+iwJeZ8g.net]
- >>44
今更だけど3行目の説明間違えてた 2*2*2より3*3が大きい なので結果的に解は3がたくさん並んで後ろで足りない分を2、もしくは4つける形になる
- 56 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:12:03.75 ID:hV/U21TG.net]
- >>26
https://ideone.com/nqON70 C++。理屈が良くわからんけど、これが俺の限界。 2で欠けたほうが普通はいいんだけど、3の倍数は2引くと1余るのでそういうところでコスト取られるのでしょうかねぇ?? プリミティブ触ったほうが詰め込めるというのは普遍的にあると思うのだけどね。。。 もしかしたら、どっかの素数がスイートスポットになってて変な切り方しないとうまくないってこともあるかもしれない。
- 57 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:18:01.40 ID:hV/U21TG.net]
- 屁理屈だけど、2と3の組み合わせで表せる数字は多いということかなぁ??
- 58 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:18:52.60 ID:hV/U21TG.net]
- 2の倍数で且つ3の倍数の時は2を使うのがいいのか3を使うのがいいのか解らない。
- 59 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:25:54.08 ID:hV/U21TG.net]
- >>55も若干間違ってるなぁ。
2と3の倍数を兼ねる数字はその数字単体によって切り方を変えないといけないんだと思う。 なんかゲーム的。
- 60 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:26:46.97 ID:hV/U21TG.net]
- うーん。わけ わか らん 。。
- 61 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 18:43:15.79 ID:hV/U21TG.net]
- https://ideone.com/U2TQGy
オマケ・鼻から悪魔かいな。。。
- 62 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 19:36:20.16 ID:hV/U21TG.net]
- https://ideone.com/EmXq6G
うがー、おまけのオマケ。>>60はオレのバグだった。。。Orz
- 63 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 19:40:07.22 ID:8+8CeiWg.net]
- >>35で終わり
はい次
- 64 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 19:54:08.36 ID:hV/U21TG.net]
- >>62
なるほど。一応そこにはたどり着いたが、迷いの中だ。。。
- 65 名前:デフォルトの名無しさん [2019/11/30(土) 20:15:09.44 ID:c0k0ajHF.net]
- >>26の出題者です。>>32で正解ですが、お題の指示通りに自然数の組み合わせを
出力してもらいたかったな。こういう綺麗な三角形ができるから。 1: [1] 2: [2] 3: [3] 4: [4] 4: [2, 2] 5: [2, 3] 6: [3, 3] 7: [3, 4] 7: [2, 2, 3] 8: [2, 3, 3] 9: [3, 3, 3] 10: [3, 3, 4] 10: [2, 2, 3, 3] 11: [2, 3, 3, 3] 12: [3, 3, 3, 3] 13: [3, 3, 3, 4] 13: [2, 2, 3, 3, 3] 14: [2, 3, 3, 3, 3] 15: [3, 3, 3, 3, 3] 16: [3, 3, 3, 3, 4] 16: [2, 2, 3, 3, 3, 3] 17: [2, 3, 3, 3, 3, 3] 18: [3, 3, 3, 3, 3, 3] 19: [3, 3, 3, 3, 3, 4] 19: [2, 2, 3, 3, 3, 3, 3] 20: [2, 3, 3, 3, 3, 3, 3] 21: [3, 3, 3, 3, 3, 3, 3] 22: [3, 3, 3, 3, 3, 3, 4] (以下略)
- 66 名前:デフォルトの名無しさん [2019/11/30(土) 20:17:08.99 ID:c0k0ajHF.net]
- 1から9までの行頭の半角空白が消えちゃったな。
- 67 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 22:34:49.11 ID:jbs9cucn.net]
- 並び替えは無視?
- 68 名前:デフォルトの名無しさん [2019/12/01(日) 01:13:31.67 ID:2OVww3gB.net]
- 「ループを使わずに1から100を順に出力するコードは書けますか」
- 69 名前:デフォルトの名無しさん [2019/12/01(日) 01:22:27.49 ID:ed/fyTUF.net]
- >>67
C https://ideone.com/WWuamo
- 70 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 01:55:41.13 ID:ztn4h68A.net]
- seq 100
- 71 名前:デフォルトの名無しさん [2019/12/01(日) 02:00:13.95 ID:vkZvYyYJ.net]
- >>67
void Array.from({length:100}, (_, i) => { console.log(i + 1); }); とか let counter = 0; void function count() { if (counter++ < 100) { console.log(counter); count(); } }(); とか。js
- 72 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 06:08:36 ID:jm8+wa+d.net]
- >>67 Ruby アイデアは前スレの誰かのパクリ
p 10**303 / 999**2 # => 10020030040050060070080090100110120130140150160170180190200210220230240250260270 28029030031032033034035036037038039040041042043044045046047048049050051052053054 05505605705805906006106206306406506606706806907007107207307407507607707807908008 1082083084085086087088089090091092093094095096097098099100
- 73 名前:デフォルトの名無しさん [2019/12/01(日) 09:04:24.78 ID:lTEhnVlg.net]
- >>67 julia
println.(1:100)
- 74 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 17:27:50.28 ID:mlX7masq.net]
- >>67 GNU Smalltalk
(1 to: 100) asArray display https://ideone.com/Ec2oby
- 75 名前:デフォルトの名無しさん [2019/12/01(日) 18:17:04.86 ID:54WkPiOY.net]
- >>67
Kotlin script (1..100).forEach(::println) 今スマホから書いてて試せないんだが多分これでできる。 forEachはループだというならこれではダメだが(確かに中ではループしていると思う)。
- 76 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 18:51:37.83 ID:Enyr5Fgf.net]
- >>67
PowerShell 1..100
- 77 名前:デフォルトの名無しさん [2019/12/01(日) 19:26:37.77 ID:IoGKXgrY.net]
- >>71
これが日本のIT産業。
- 78 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 21:21:54.10 ID:3oGVZyBI.net]
- お題: アルファベットの文字列の大文字と小文字の対応を反転させて表示しろ
in < Hello, World! out > hELLO, wORLD!
- 79 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 21:48:29.67 ID:5gm7V8wf.net]
- >>77 Ruby
puts 'Hello, World!'.swapcase # => hELLO, wORLD!
- 80 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 22:32:24.47 ID:ztn4h68A.net]
- vim 的には ~ 一発
- 81 名前:デフォルトの名無しさん [2019/12/01(日) 23:10:18.94 ID:sAJI+X1W.net]
- >>77 Common Lisp
(defun string-invert-case (string) (map 'string (lambda (c) (if (l
- 82 名前:ower-case-p c)
(char-upcase c) (char-downcase c))) string)) (write-line (string-invert-case "Hello, World!")) [] - [ここ壊れてます]
- 83 名前:デフォルトの名無しさん [2019/12/02(月) 02:15:21 ID:6Q7teWoI.net]
- >>77
tr コマンド tr a-zA-Z A-Za-z 実際に実行するとこうなる。 https://paiza.io/projects/s3D3AA0kePkEOELdCTfFqw
- 84 名前:デフォルトの名無しさん [2019/12/02(月) 08:36:45.67 ID:gdxsQr6e.net]
- >>67 PHP
<?=implode(range(1,100)," ")?>
- 85 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 15:32:31.35 ID:APM7ABg4.net]
- お題: コンビニでタバコ(マルボロ)を買いたい
喫煙者がコンビニでタバコを購入して喫煙するまでの疑似コードを書け 詳細にかつ現実的で、エラー/例外に可能な限り対応していれば高得点とする 例: person.walk_to(conbini) if conbini.has(person) { employee = conbini.get_current_employee() tobacco = person.request_to(employee, "マルボロ") person.smoke(tobacco) }
- 86 名前:デフォルトの名無しさん [2019/12/02(月) 16:09:21.37 ID:KwsHxcvC.net]
- ヤニカスはしね
- 87 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 17:33:22.44 ID:54OAxivC.net]
- 1,マルボロ吸いてー。
2,そうだコンビニへ行こう 3,財布を確認 4,どうやって行こうか 5,準備して家を出る 6,道中色々 7,コンビニ到着 8,コンビニ物色 9,予備で買わなければいいけないモノを示唆 10,カゴ買うモノを入れる 11,レジに行く 12,レジでタバコの番号を「N個クレ」という。 13,ホットスナックを示唆する 14,会計が出る 15,ポイントカードを出す 16,お金を払う 17,品物を受け取る 18,コンビニをでる 19,喫煙スポット検索 20,喫煙スポットへいく 21,道中色々 22,到着 23,タバコを開けて一本取り出す 24,ライターで火をつける 25,吸う 26ぷれじゅあぁあああああああああああ
- 88 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 17:39:36.73 ID:54OAxivC.net]
- タバコに火をつける時は、咥えて軽くチューブを吸わないとつかないのDA!!
- 89 名前:デフォルトの名無しさん [2019/12/02(月) 21:58:19.49 ID:gdxsQr6e.net]
- >>67 Pxthon
print(*range(1,101))
- 90 名前:デフォルトの名無しさん [2019/12/02(月) 22:05:34.98 ID:gdxsQr6e.net]
- >>87
すいません Python です
- 91 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 22:07:19.69 ID:/Z+nXxB0.net]
- >>76
どゆ意味?
- 92 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 22:09:31.28 ID:az4xQt0G.net]
- 示唆 ってナニ
- 93 名前:デフォルトの名無しさん [2019/12/03(火) 01:47:20 ID:dBsSbed7.net]
- 令和元年(2019年)8月25日(日)・(再)9月1日(日)
テーマ: 未来につながる力を学ぶ プログラミング教育 内容: 2020年度から小学校で始まる「プログラミング教育」。 一体どんな授業が行われるのか?番組では一足先に プログラミングを取り入れた授業を行っている小学校を取材。 そこには生き生きと楽しく学ぶ子供たちの姿が。さらに、 実際に授業で使われている教材で、徳光さんがプログラミングに初挑戦! 今回は文部科学省プログラミング教育戦略マネージャーの中川哲さんと共に、 進化する学び、「プログラミング教育」に迫ります。 https://www.gov-online.go.jp/pr/media/tv/shiritai/movie/20190825.html 動画は上のURLにある
- 94 名前:デフォルトの名無しさん [2019/12/03(火) 17:02:12 ID:/pkZgP0J.net]
- >>67 jq
range(1;101)
- 95 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 19:25:09.89 ID:mUaHu9IR.net]
- >>67
perl5 perl -e 'print join "\n", 1..100'
- 96 名前:デフォルトの名無しさん [2019/12/03(火) 20:10:35.90 ID:aor79FgV.net]
- >>67
Prel5 ってまだ出てないよね? print join(' ', 1..100) . "\n";
- 97 名前:デフォルトの名無しさん [2019/12/04(水) 09:18:44 ID:MGV4EHAd.net]
- 永久に出ないんじゃないかなPrel5なんて
- 98 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 12:00:08 ID:aCqgWIP/.net]
- プレル・ふぁいぶ ならショウガナイ
- 99 名前:デフォルトの名無しさん [2019/12/04(水) 12:58:50.91 ID:61i6ZWvj.net]
- print(isletter(c)
- 100 名前:デフォルトの名無しさん [2019/12/04(水) 13:07:17.16 ID:61i6ZWvj.net]
- >>97
すいません。ブロックされて書き込みができないのでいろいろテスト中。
- 101 名前:デフォルトの名無しさん [2019/12/04(水) 17:21:06 ID:0j0R5u4a.net]
- >>95>>96
打ちまつがえた。 そしてリロードしてなくて書いた直後に上にPerl5の書き込みが出現orz
|

|