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

■ このスレッドは過去ログ倉庫に格納されています
2019/11/17(日) 09:00:22.10ID:xqEdXdr6
プログラミングのお題スレです。

【出題と回答例】
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/

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

※前スレ
プログラミングのお題スレ Part15
http://mevius.5ch.net/test/read.cgi/tech/1564310397/
2019/11/17(日) 10:53:15.74ID:uilOlN75
>>1 おつ
3デフォルトの名無しさん
垢版 |
2019/11/17(日) 17:37:39.46ID:8gWobnsK
val 乙 = "乙"
prontln(乙)
2019/11/18(月) 02:35:04.18ID:t9gVOJNg
お題:
https://i.imgur.com/JsMU4uh.jpg
明度が0〜9までのグレーの四角がグラデーション状に横並びにならんでいるとします
この状態だと隣接している四角と四角の明度の差が少ないので境目が見えづらいです
全ての四角同士の明度差ができるだけ大きくなるように並び替えるにはどういうロジックが考えられるでしょう?
四角の数が増えても対応できるような汎用的なロジックが望ましいです
両端は固定のままが理想ですが必須要件ではありません

・ボツ例:1〜4まで一つおきに左右端を入れ替える
(1) 1と8を入れ替える
(2) 2と7はそのまま
(3) 3と6を入れ替える
(4) 4と5はそのまま
※これだと4と5が隣り合ったままで明度差が少ない箇所が残るので最適解ではない
2019/11/18(月) 05:41:33.12ID:8+qUVevR
Σ|a_n - a_{n+1}| を最大化する問題なのか
inf{|a_n - a_{n+1}|} を最大化する問題なのか
どっちなんだ?
2019/11/18(月) 11:50:33.33ID:BCetHxzu
>>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] を偶数項と奇数項に分けると…
2019/11/18(月) 18:43:37.24ID:DjoGz+4S
>>4 Java (両端固定ではない
https://ideone.com/tCrXMN

>>6
つまりこういうことかの?
両端固定で奇数個の場合はどうなるんじゃろ
8デフォルトの名無しさん
垢版 |
2019/11/18(月) 20:03:36.58ID:EbN/HVpO
>>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.50ID:1mUnuvuP
>>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.41ID:1mUnuvuP
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.25ID:1mUnuvuP
nが奇数の場合にも偶数の場合と似たようにしてd >= (n - 1) / 2 はあり得ず、
d = (n - 1) / 2 - 1 から調べれば良いことが分かるが、偶数の場合と違い
選択確定できる数はない。>>8の元請け関数のforループの開始値をnではなく
n %/% 2 - 1に置き換えるだけでは、実行時間は5〜6%くらいしか短縮されない。
偶数の場合のような図の作成により、調べる組み合わせを減らしていくことは
できるが、プログラムを書くのはかなり面倒そう。
2019/11/21(木) 22:40:32.33ID:vr0RSw67
>>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向け => http://ws.stfx.eu/CFADPDGFMTJC ;"
2019/11/22(金) 20:06:41.59ID:EyqF2Cmi
お題:読み手を一瞬戸惑わせよ
https://ideone.com/OCwpPB
2019/11/23(土) 05:56:02.57ID:KvoIJqUR
https://twitter.com/AtomDynamics16/status/1197979782719229952
キー入力を一定時間ごとに送るソフトを書いたのだけど、やっぱりグレーですか?
パケット改変して無くて、メモ帳ではうまくいってる。
UOクライアントに使うのが怖くて躊躇している。
https://twitter.com/5chan_nel (5ch newer account)
2019/11/23(土) 06:01:06.32ID:KvoIJqUR
あ、UOスレに書いたものだと・・・。
16デフォルトの名無しさん
垢版 |
2019/11/23(土) 22:51:11.49ID:ubdNKuk5
>>4>>11の方式で求めるプログラムを書いてみた: https://ideone.com/14wgia

nが偶数の場合、n = 8までは>>8の2番目のプログラムと比べて遅いが、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では
どんなアルゴリズムを使ってもコンピュータの性能限界をはるかに超えてしまう。
2019/11/24(日) 20:41:58.58ID:NMcltmqU
今日は夕焼けが超絶綺麗だったよ。
今まで見たことないくらい。
まだきれいになるだろうか、というのと、これ一回で終わりだろうか。
というのがあった。
2019/11/25(月) 01:25:34.58ID:SBJvKXmI
お題:Diffアルゴリズムを実装せよ。

差分アルゴリズム、さんぷる。
1:abcdef
2:abdef -> -3:c
3:bcdef -> -1:a,+3:c
4:abcdef -> +1a

以上がオレの考えるアルゴリズムだが、
もっとより良いアルゴリズムが世の中にはあるはずなので、
実装しませんか?
19デフォルトの名無しさん
垢版 |
2019/11/25(月) 09:24:47.39ID:veETdbiQ
>>18
それはアルゴリズムではなく入力と出力のサンプル。

まあとにかく足された文字は+と位置と足された文字(または文字列?)を出して引かれた文字は-と位置と文字を出す仕様ということだな。
で、位置は先頭が1だと。

後で時間が空いたら考えとく。
20デフォルトの名無しさん
垢版 |
2019/11/25(月) 22:13:03.88ID:UwQDpJpg
>>18
https://ideone.com/3VET5r
Rには編集前後の文字列のレーベンシュタイン距離を求める便利な関数adistが
備わっていて、1文字の挿入、削除、置換操作が必要な位置をI, D, S、操作が不要な
位置をMで示す文字列を返してくれる。例えば、"abdef" と "bcdef" を与えると、
"DMIMMM" が得られる。あとは、>>18の出力形式にちょっと加工するだけ。
21デフォルトの名無しさん
垢版 |
2019/11/26(火) 01:23:24.55ID:q8waUqPK
>>18
Kotlin
https://paiza.io/projects/KUt3cPLxHrEYUi0NBvFNow

1文字以上の追加や削除も出せるようにしてある。
22デフォルトの名無しさん
垢版 |
2019/11/26(火) 11:38:36.70ID:JjgFJEIb
>>18
C
https://paiza.io/projects/NTgg4131JYHSiSqBTtNZTw
23デフォルトの名無しさん
垢版 |
2019/11/26(火) 15:12:16.07ID:JjgFJEIb
>>18
Perl
https://paiza.io/projects/71IZPLpIhoNPEexVVb8cCQ

あまりPerlの特性を生かせてないような、かといって今のところこれぐらいしか思い浮かばない。
2019/11/26(火) 16:15:14.15ID:FF/Zqwz/
>>18
やっぱお前ら高性能だな。言い方悪いけど。
25デフォルトの名無しさん
垢版 |
2019/11/28(木) 17:24:57.64ID:mMrv+0Zt
高性能じゃない俺にもできるお題をたのむ
26デフォルトの名無しさん
垢版 |
2019/11/28(木) 20:14:43.82ID:mbBdSv/T
お題:自然数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] 最大となるような自然数の組が複数ある場合は、すべての組を表示せよ。
2019/11/28(木) 20:24:13.35ID:522sTouZ
>>26
同じ数字は何回も使っていいの?
28デフォルトの名無しさん
垢版 |
2019/11/28(木) 20:30:31.52ID:mbBdSv/T
>>27
可。
29デフォルトの名無しさん
垢版 |
2019/11/28(木) 21:08:44.29ID:pgFu+V4e
後で虱潰しに全部計算するやつでも作るかな
2019/11/28(木) 21:12:26.03ID:522sTouZ
同じ数字を何回も使っていいんだったら2と3だけで作って、2*2を4と置き換えたものを追加(※3のため)すればええんかね?
aが1の場合は1
aが偶数の場合2^(a/2)
aが3以上の奇数の場合2^((a-3)/2)+3
2019/11/28(木) 21:20:11.41ID:EjjwcG+D
f(a,n)=(a/n)^n
df/dn =(a/n)^n * (-1+log[a/n]) な感じなので
ne=aで増減変化な気がするから
それ前後の整数2つだけしらべれば大丈夫?
a<=100, a>=1 だから200回調べる感じ
2019/11/28(木) 22:03:53.95ID:uZ7jROyS
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
2019/11/28(木) 22:37:08.59ID:PoPpbfsh
求める値を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の通りかな?
2019/11/28(木) 22:43:58.67ID:522sTouZ
あー、2より3の方がよかったかー
2019/11/28(木) 22:48:21.15ID:PoPpbfsh
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
36デフォルトの名無しさん
垢版 |
2019/11/29(金) 15:19:10.07ID:Ursk3Xfl
>>35
なぜそれで「だから」となるのかわからない。
2019/11/29(金) 17:42:19.99ID:YkvT9y9m
2、3、4以外の値はあらわれず
2と4をあわせて6以上にはならない

どっちがわからない?
2019/11/29(金) 17:48:24.95ID:YkvT9y9m
.... が正として、

.... * n * 1 < .... * (n+1)
.... * n < .... * floor(n/2) * ceil(n/2) @nが5以上
.... * 2 * 2 * 2 < .... * 3 * 3
.... * 4 = .... * 2 * 2
2019/11/29(金) 17:57:55.99ID:YkvT9y9m
一応、
加算と乗算は交換法則と結合法則が成り立つ
ってのも必要な条件です
40デフォルトの名無しさん
垢版 |
2019/11/29(金) 20:54:17.14ID:dycaAJcC
>>37
なぜ現れないとわかるのか?
2019/11/29(金) 21:03:35.14ID:M9vvD3Fp
>>40
38で書いてくれてる
5以上なら分割したほうが大きくなるから最終的な数字は5未満になる
42デフォルトの名無しさん
垢版 |
2019/11/29(金) 21:19:59.63ID:dycaAJcC
え?そうなの?わかりづらいな。見てもわからんよ。
2019/11/29(金) 21:29:43.92ID:57KUyJj8
なんでわからんのかがわからん
2019/11/29(金) 21:39:03.80ID:M9vvD3Fp
38の内容は
1行目で1が無意味なので1が出ない
2行目で5以上は分割したほうがでかくなる
3行目で2*2*2と3*3は同じ
4行目で2*2と4は同じ
を説明している
3行目4行目はパターンを列挙するために必要な内容
2019/11/30(土) 02:03:19.03ID:8/O2xSEo
5以上は分割した方が大きくなる事に関しては数学的に証明できてるってこと?
2019/11/30(土) 02:12:04.92ID:NRfKrTi3
したつもり en=aのような感じのあれ
2019/11/30(土) 02:28:06.73ID:Qe4NE6bn
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より大きい
2019/11/30(土) 07:09:20.92ID:WebQyLi7
>>45
より大きくなる具体的な分け方を>>38に書いた

半分の、小数点以下切り上げ
半分の、小数点以下切り捨て
に分ける

これの方が大きい証明はとても簡単
(でもあまりエレガントではない)

もちろんこの分け方が最大というわけではないが
最大の分け方が5以上を含むと仮定すると、
より大きなものが存在するので矛盾
だから5以上は含まない
と言う事が出来る
2019/11/30(土) 07:13:05.91ID:WebQyLi7
最大となる分け方が存在する
ってのは有限性から明らか

つまり、
少なくとも1個の分け方が存在する
分け方は有限個しかない
から明らか
2019/11/30(土) 11:15:44.62ID:WebQyLi7
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)
2019/11/30(土) 17:07:38.94ID:0h0IqWCg
これでわからんのなら数学じゃなくて日本語が不自由と断言してよいレベルだな
2019/11/30(土) 17:44:52.22ID:hV/U21TG
>>26
https://ideone.com/5DzbUt
C++。二進数最強伝説を信じて書いてみたよ。
数学出来ないからいつも通り適当に解いてる。。。
2019/11/30(土) 18:01:19.21ID:hV/U21TG
あ、間違ってら。
2019/11/30(土) 18:08:13.55ID:+iwJeZ8g
>>44
今更だけど3行目の説明間違えてた
2*2*2より3*3が大きい
なので結果的に解は3がたくさん並んで後ろで足りない分を2、もしくは4つける形になる
2019/11/30(土) 18:12:03.75ID:hV/U21TG
>>26
https://ideone.com/nqON70
C++。理屈が良くわからんけど、これが俺の限界。
2で欠けたほうが普通はいいんだけど、3の倍数は2引くと1余るのでそういうところでコスト取られるのでしょうかねぇ??
プリミティブ触ったほうが詰め込めるというのは普遍的にあると思うのだけどね。。。
もしかしたら、どっかの素数がスイートスポットになってて変な切り方しないとうまくないってこともあるかもしれない。
2019/11/30(土) 18:18:01.40ID:hV/U21TG
屁理屈だけど、2と3の組み合わせで表せる数字は多いということかなぁ??
2019/11/30(土) 18:18:52.60ID:hV/U21TG
2の倍数で且つ3の倍数の時は2を使うのがいいのか3を使うのがいいのか解らない。
2019/11/30(土) 18:25:54.08ID:hV/U21TG
>>55も若干間違ってるなぁ。
2と3の倍数を兼ねる数字はその数字単体によって切り方を変えないといけないんだと思う。
なんかゲーム的。
2019/11/30(土) 18:26:46.97ID:hV/U21TG
うーん。わけ わか らん 。。
2019/11/30(土) 18:43:15.79ID:hV/U21TG
https://ideone.com/U2TQGy
オマケ・鼻から悪魔かいな。。。
2019/11/30(土) 19:36:20.16ID:hV/U21TG
https://ideone.com/EmXq6G
うがー、おまけのオマケ。>>60はオレのバグだった。。。Orz
2019/11/30(土) 19:40:07.22ID:8+8CeiWg
>>35で終わり
はい次
2019/11/30(土) 19:54:08.36ID:hV/U21TG
>>62
なるほど。一応そこにはたどり着いたが、迷いの中だ。。。
64デフォルトの名無しさん
垢版 |
2019/11/30(土) 20:15:09.44ID:c0k0ajHF
>>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]
(以下略)
65デフォルトの名無しさん
垢版 |
2019/11/30(土) 20:17:08.99ID:c0k0ajHF
1から9までの行頭の半角空白が消えちゃったな。
2019/11/30(土) 22:34:49.11ID:jbs9cucn
並び替えは無視?
67デフォルトの名無しさん
垢版 |
2019/12/01(日) 01:13:31.67ID:2OVww3gB
「ループを使わずに1から100を順に出力するコードは書けますか」
68デフォルトの名無しさん
垢版 |
2019/12/01(日) 01:22:27.49ID:ed/fyTUF
>>67
C
https://ideone.com/WWuamo
2019/12/01(日) 01:55:41.13ID:ztn4h68A
seq 100
70デフォルトの名無しさん
垢版 |
2019/12/01(日) 02:00:13.95ID:vkZvYyYJ
>>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
2019/12/01(日) 06:08:36.21ID:jm8+wa+d
>>67 Ruby アイデアは前スレの誰かのパクリ

p 10**303 / 999**2
# => 10020030040050060070080090100110120130140150160170180190200210220230240250260270
28029030031032033034035036037038039040041042043044045046047048049050051052053054
05505605705805906006106206306406506606706806907007107207307407507607707807908008
1082083084085086087088089090091092093094095096097098099100
72デフォルトの名無しさん
垢版 |
2019/12/01(日) 09:04:24.78ID:lTEhnVlg
>>67 julia
println.(1:100)
2019/12/01(日) 17:27:50.28ID:mlX7masq
>>67 GNU Smalltalk

(1 to: 100) asArray display

https://ideone.com/Ec2oby
74デフォルトの名無しさん
垢版 |
2019/12/01(日) 18:17:04.86ID:54WkPiOY
>>67
Kotlin script

(1..100).forEach(::println)

今スマホから書いてて試せないんだが多分これでできる。
forEachはループだというならこれではダメだが(確かに中ではループしていると思う)。
2019/12/01(日) 18:51:37.83ID:Enyr5Fgf
>>67
PowerShell
1..100
76デフォルトの名無しさん
垢版 |
2019/12/01(日) 19:26:37.77ID:IoGKXgrY
>>71
これが日本のIT産業。
2019/12/01(日) 21:21:54.10ID:3oGVZyBI
お題: アルファベットの文字列の大文字と小文字の対応を反転させて表示しろ

in < Hello, World!
out > hELLO, wORLD!
2019/12/01(日) 21:48:29.67ID:5gm7V8wf
>>77 Ruby
puts 'Hello, World!'.swapcase # => hELLO, wORLD!
2019/12/01(日) 22:32:24.47ID:ztn4h68A
vim 的には ~ 一発
80デフォルトの名無しさん
垢版 |
2019/12/01(日) 23:10:18.94ID:sAJI+X1W
>>77 Common Lisp
(defun string-invert-case (string)
  (map 'string
       (lambda (c)
         (if (lower-case-p c)
             (char-upcase c)
             (char-downcase c)))
       string))

(write-line (string-invert-case "Hello, World!"))
81デフォルトの名無しさん
垢版 |
2019/12/02(月) 02:15:21.91ID:6Q7teWoI
>>77
tr コマンド

tr a-zA-Z A-Za-z

実際に実行するとこうなる。
https://paiza.io/projects/s3D3AA0kePkEOELdCTfFqw
82デフォルトの名無しさん
垢版 |
2019/12/02(月) 08:36:45.67ID:gdxsQr6e
>>67 PHP

<?=implode(range(1,100)," ")?>
2019/12/02(月) 15:32:31.35ID:APM7ABg4
お題: コンビニでタバコ(マルボロ)を買いたい
喫煙者がコンビニでタバコを購入して喫煙するまでの疑似コードを書け
詳細にかつ現実的で、エラー/例外に可能な限り対応していれば高得点とする

例:
person.walk_to(conbini)
if conbini.has(person) {
employee = conbini.get_current_employee()
tobacco = person.request_to(employee, "マルボロ")
person.smoke(tobacco)
}
84デフォルトの名無しさん
垢版 |
2019/12/02(月) 16:09:21.37ID:KwsHxcvC
ヤニカスはしね
2019/12/02(月) 17:33:22.44ID:54OAxivC
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ぷれじゅあぁあああああああああああ
2019/12/02(月) 17:39:36.73ID:54OAxivC
タバコに火をつける時は、咥えて軽くチューブを吸わないとつかないのDA!!
87デフォルトの名無しさん
垢版 |
2019/12/02(月) 21:58:19.49ID:gdxsQr6e
>>67 Pxthon

print(*range(1,101))
88デフォルトの名無しさん
垢版 |
2019/12/02(月) 22:05:34.98ID:gdxsQr6e
>>87
すいません Python です
2019/12/02(月) 22:07:19.69ID:/Z+nXxB0
>>76
どゆ意味?
2019/12/02(月) 22:09:31.28ID:az4xQt0G
示唆 ってナニ
91デフォルトの名無しさん
垢版 |
2019/12/03(火) 01:47:20.32ID:dBsSbed7
令和元年(2019年)8月25日(日)・(再)9月1日(日)
テーマ: 未来につながる力を学ぶ プログラミング教育
内容: 2020年度から小学校で始まる「プログラミング教育」。
一体どんな授業が行われるのか?番組では一足先に
プログラミングを取り入れた授業を行っている小学校を取材。
そこには生き生きと楽しく学ぶ子供たちの姿が。さらに、
実際に授業で使われている教材で、徳光さんがプログラミングに初挑戦!
今回は文部科学省プログラミング教育戦略マネージャーの中川哲さんと共に、
進化する学び、「プログラミング教育」に迫ります。
  https://www.gov-online.go.jp/pr/media/tv/shiritai/movie/20190825.html
動画は上のURLにある
92デフォルトの名無しさん
垢版 |
2019/12/03(火) 17:02:12.57ID:/pkZgP0J
>>67 jq

range(1;101)
2019/12/03(火) 19:25:09.89ID:mUaHu9IR
>>67
perl5
perl -e 'print join "\n", 1..100'
94デフォルトの名無しさん
垢版 |
2019/12/03(火) 20:10:35.90ID:aor79FgV
>>67
Prel5 ってまだ出てないよね?

print join(' ', 1..100) . "\n";
95デフォルトの名無しさん
垢版 |
2019/12/04(水) 09:18:44.13ID:MGV4EHAd
永久に出ないんじゃないかなPrel5なんて
2019/12/04(水) 12:00:08.84ID:aCqgWIP/
プレル・ふぁいぶ ならショウガナイ
97デフォルトの名無しさん
垢版 |
2019/12/04(水) 12:58:50.91ID:61i6ZWvj
print(isletter(c)
98デフォルトの名無しさん
垢版 |
2019/12/04(水) 13:07:17.16ID:61i6ZWvj
>>97
すいません。ブロックされて書き込みができないのでいろいろテスト中。
99デフォルトの名無しさん
垢版 |
2019/12/04(水) 17:21:06.21ID:0j0R5u4a
>>95>>96
打ちまつがえた。
そしてリロードしてなくて書いた直後に上にPerl5の書き込みが出現orz
2019/12/04(水) 22:22:08.38ID:gi4YpuTv
>>67 Perl5

print "@{[1..100]}\n";
2019/12/04(水) 23:37:13.25ID:h1My/is4
お題: 1~100までの数列の和を計算する
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況