プログラミングのお題スレです。
【出題と回答例】
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/
プログラミングのお題スレ Part16
■ このスレッドは過去ログ倉庫に格納されています
2019/11/17(日) 09:00:22.10ID:xqEdXdr6
2019/11/17(日) 10:53:15.74ID:uilOlN75
>>1 おつ
3デフォルトの名無しさん
2019/11/17(日) 17:37:39.46ID:8gWobnsK val 乙 = "乙"
prontln(乙)
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が隣り合ったままで明度差が少ない箇所が残るので最適解ではない
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}|} を最大化する問題なのか
どっちなんだ?
inf{|a_n - a_{n+1}|} を最大化する問題なのか
どっちなんだ?
2019/11/18(月) 11:50:33.33ID:BCetHxzu
2019/11/18(月) 18:43:37.24ID:DjoGz+4S
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
になると予想されるが、それが正解であることを理論的に説明しないといけないな。
両端固定で最小隣接差を最大化する条件で回答する。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)
【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 になる。
らが選択確定となり、右図になる。 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%くらいしか短縮されない。
偶数の場合のような図の作成により、調べる組み合わせを減らしていくことは
できるが、プログラムを書くのはかなり面倒そう。
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 ;"
| 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
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)
キー入力を一定時間ごとに送るソフトを書いたのだけど、やっぱりグレーですか?
パケット改変して無くて、メモ帳ではうまくいってる。
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では
どんなアルゴリズムを使ってもコンピュータの性能限界をはるかに超えてしまう。
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
以上がオレの考えるアルゴリズムだが、
もっとより良いアルゴリズムが世の中にはあるはずなので、
実装しませんか?
差分アルゴリズム、さんぷる。
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だと。
後で時間が空いたら考えとく。
それはアルゴリズムではなく入力と出力のサンプル。
まあとにかく足された文字は+と位置と足された文字(または文字列?)を出して引かれた文字は-と位置と文字を出す仕様ということだな。
で、位置は先頭が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の出力形式にちょっと加工するだけ。
https://ideone.com/3VET5r
Rには編集前後の文字列のレーベンシュタイン距離を求める便利な関数adistが
備わっていて、1文字の挿入、削除、置換操作が必要な位置をI, D, S、操作が不要な
位置をMで示す文字列を返してくれる。例えば、"abdef" と "bcdef" を与えると、
"DMIMMM" が得られる。あとは、>>18の出力形式にちょっと加工するだけ。
21デフォルトの名無しさん
2019/11/26(火) 01:23:24.55ID:q8waUqPK22デフォルトの名無しさん
2019/11/26(火) 11:38:36.70ID:JjgFJEIb23デフォルトの名無しさん
2019/11/26(火) 15:12:16.07ID:JjgFJEIb >>18
Perl
https://paiza.io/projects/71IZPLpIhoNPEexVVb8cCQ
あまりPerlの特性を生かせてないような、かといって今のところこれぐらいしか思い浮かばない。
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] 最大となるような自然数の組が複数ある場合は、すべての組を表示せよ。
積[※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
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回調べる感じ
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
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の通りかな?
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
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以上にはならない
どっちがわからない?
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
.... * 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
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行目はパターンを列挙するために必要な内容
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より大きい
だから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
2019/11/30(土) 07:13:05.91ID:WebQyLi7
最大となる分け方が存在する
ってのは有限性から明らか
つまり、
少なくとも1個の分け方が存在する
分け方は有限個しかない
から明らか
ってのは有限性から明らか
つまり、
少なくとも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)
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
2019/11/30(土) 18:01:19.21ID:hV/U21TG
あ、間違ってら。
2019/11/30(土) 18:08:13.55ID:+iwJeZ8g
2019/11/30(土) 18:12:03.75ID:hV/U21TG
>>26
https://ideone.com/nqON70
C++。理屈が良くわからんけど、これが俺の限界。
2で欠けたほうが普通はいいんだけど、3の倍数は2引くと1余るのでそういうところでコスト取られるのでしょうかねぇ??
プリミティブ触ったほうが詰め込めるというのは普遍的にあると思うのだけどね。。。
もしかしたら、どっかの素数がスイートスポットになってて変な切り方しないとうまくないってこともあるかもしれない。
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
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
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]
(以下略)
出力してもらいたかったな。こういう綺麗な三角形ができるから。
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/fyTUF2019/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
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
p 10**303 / 999**2
# => 10020030040050060070080090100110120130140150160170180190200210220230240250260270
28029030031032033034035036037038039040041042043044045046047048049050051052053054
05505605705805906006106206306406506606706806907007107207307407507607707807908008
1082083084085086087088089090091092093094095096097098099100
72デフォルトの名無しさん
2019/12/01(日) 09:04:24.78ID:lTEhnVlg >>67 julia
println.(1:100)
println.(1:100)
2019/12/01(日) 17:27:50.28ID:mlX7masq
74デフォルトの名無しさん
2019/12/01(日) 18:17:04.86ID:54WkPiOY >>67
Kotlin script
(1..100).forEach(::println)
今スマホから書いてて試せないんだが多分これでできる。
forEachはループだというならこれではダメだが(確かに中ではループしていると思う)。
Kotlin script
(1..100).forEach(::println)
今スマホから書いてて試せないんだが多分これでできる。
forEachはループだというならこれではダメだが(確かに中ではループしていると思う)。
2019/12/01(日) 18:51:37.83ID:Enyr5Fgf
76デフォルトの名無しさん
2019/12/01(日) 19:26:37.77ID:IoGKXgrY >>71
これが日本のIT産業。
これが日本のIT産業。
2019/12/01(日) 21:21:54.10ID:3oGVZyBI
お題: アルファベットの文字列の大文字と小文字の対応を反転させて表示しろ
in < Hello, World!
out > hELLO, wORLD!
in < Hello, World!
out > hELLO, wORLD!
2019/12/01(日) 21:48:29.67ID:5gm7V8wf
>>77 Ruby
puts 'Hello, World!'.swapcase # => hELLO, wORLD!
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!"))
(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:6Q7teWoI82デフォルトの名無しさん
2019/12/02(月) 08:36:45.67ID:gdxsQr6e2019/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)
}
喫煙者がコンビニでタバコを購入して喫煙するまでの疑似コードを書け
詳細にかつ現実的で、エラー/例外に可能な限り対応していれば高得点とする
例:
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ぷれじゅあぁあああああああああああ
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:gdxsQr6e88デフォルトの名無しさん
2019/12/02(月) 22:05:34.98ID:gdxsQr6e >>87
すいません Python です
すいません 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にある
テーマ: 未来につながる力を学ぶ プログラミング教育
内容: 2020年度から小学校で始まる「プログラミング教育」。
一体どんな授業が行われるのか?番組では一足先に
プログラミングを取り入れた授業を行っている小学校を取材。
そこには生き生きと楽しく学ぶ子供たちの姿が。さらに、
実際に授業で使われている教材で、徳光さんがプログラミングに初挑戦!
今回は文部科学省プログラミング教育戦略マネージャーの中川哲さんと共に、
進化する学び、「プログラミング教育」に迫ります。
https://www.gov-online.go.jp/pr/media/tv/shiritai/movie/20190825.html
動画は上のURLにある
92デフォルトの名無しさん
2019/12/03(火) 17:02:12.57ID:/pkZgP0J2019/12/03(火) 19:25:09.89ID:mUaHu9IR
94デフォルトの名無しさん
2019/12/03(火) 20:10:35.90ID:aor79FgV95デフォルトの名無しさん
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:0j0R5u4a100デフォルトの名無しさん
2019/12/04(水) 22:22:08.38ID:gi4YpuTv101デフォルトの名無しさん
2019/12/04(水) 23:37:13.25ID:h1My/is4 お題: 1~100までの数列の和を計算する
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【和訳付き】レーダー照射問題 中国軍と自衛隊との“音声データ”公開 中国国営メディア [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★2 [597533159]
- 【悲報】昭和天皇「朕のチンチンw」ジャップ「現人神!現人神!」 [616817505]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★3 [597533159]
- 【高市朗報】ボーナス、支給される [391924956]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 【高市筋肉】筋トレおじさん、爆増wwwwwwwwwwwwwステロイド使用も増 [308389511]
