プログラミングのお題スレです。
前スレ
プログラミングのお題スレ Part9
https://mevius.5ch.net/test/read.cgi/tech/1480579110/
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
http://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
http://runnable.com/
http://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
探検
プログラミングのお題スレ Part10
レス数が900を超えています。1000を超えると表示できなくなるよ。
2018/01/01(月) 11:15:04.40ID:2Vr1CPKy
845デフォルトの名無しさん
2018/04/16(月) 11:30:39.95ID:rl+JKxfh 同じ高さの横棒は隣接しないということでいいのかな?
846デフォルトの名無しさん
2018/04/16(月) 12:23:47.11ID:ZFIHRn8x 最小の、とか書くから数学のマウント合戦になるのでは?アミダくじを解け、でいいじゃん。出た解答の中で最小で出してるのがあったらその時点でスゴイスゴイ
847デフォルトの名無しさん
2018/04/16(月) 12:33:28.31ID:rl+JKxfh >>846
それおもしろい?
それおもしろい?
848デフォルトの名無しさん
2018/04/16(月) 12:58:29.77ID:qlfABgAK ニコリのナンバーリンク、スリザーリンクとか、
あみだくじ・電力網・鉄道経路・選挙区割り・正多面体の展開図とか、この本に載ってる
北大の湊真一の、ZDD。
Python, Ruby でも使える
超高速グラフ列挙アルゴリズム−〈フカシギの数え方〉が拓く,
組合せ問題への新アプローチ
ERATO 湊離散構造処理系プロジェクト・湊真一、2015
計算時間が何百億年も掛かるのが、数秒で解けた
「おねえさんの問題」で有名な、
湊真一の超高速グラフ列挙アルゴリズム ZDD
あみだくじ・電力網・鉄道経路・選挙区割り・正多面体の展開図とか、この本に載ってる
北大の湊真一の、ZDD。
Python, Ruby でも使える
超高速グラフ列挙アルゴリズム−〈フカシギの数え方〉が拓く,
組合せ問題への新アプローチ
ERATO 湊離散構造処理系プロジェクト・湊真一、2015
計算時間が何百億年も掛かるのが、数秒で解けた
「おねえさんの問題」で有名な、
湊真一の超高速グラフ列挙アルゴリズム ZDD
849デフォルトの名無しさん
2018/04/16(月) 14:43:52.77ID:VE3/OCqi850デフォルトの名無しさん
2018/04/16(月) 14:45:34.28ID:VE3/OCqi もちろん>>844は(存在すれば)最小値が存在する
851デフォルトの名無しさん
2018/04/16(月) 15:43:24.03ID:4eWg6WR3 なるほど、最小って条件は止めるか
条件を変えるわ
解がN通りある時、それぞれの解の本数をa_i(1≦i≦N)とする
この時、任意のi,j(1≦i,j≦N)に対しa_j-a_i≧0を満たすa_iを出力してくれれば良いよ
>>845 隣接しない
隣接したらあみだくじとして成立しないしね
条件を変えるわ
解がN通りある時、それぞれの解の本数をa_i(1≦i≦N)とする
この時、任意のi,j(1≦i,j≦N)に対しa_j-a_i≧0を満たすa_iを出力してくれれば良いよ
>>845 隣接しない
隣接したらあみだくじとして成立しないしね
852デフォルトの名無しさん
2018/04/16(月) 19:17:35.12ID:CKG1x9VY >>841 J
2 echo 2&#;._2 stdin''
2 echo 2&#;._2 stdin''
853デフォルトの名無しさん
2018/04/16(月) 19:21:25.33ID:T6RcU2kF >>851
よくわからん日本語だな
よくわからん日本語だな
854デフォルトの名無しさん
2018/04/16(月) 19:23:45.57ID:T6RcU2kF 多分最小を別の表現にしたつもりなんだろうけど
日本語がめちゃくちゃ
無理しなくて良いよ
日本語がめちゃくちゃ
無理しなくて良いよ
855デフォルトの名無しさん
2018/04/16(月) 19:31:45.75ID:gUfDVwYo >>852
なにこれなにこれ
なにこれなにこれ
856デフォルトの名無しさん
2018/04/16(月) 19:45:15.45ID:14bBH5UG857デフォルトの名無しさん
2018/04/16(月) 20:06:21.68ID:w6kJX9+o 「任意のi,j(1≦i,j≦N)に対しa_j-a_i≧0を満たすa_iを出力」
意味がわかりません
意味がわかりません
>>856
「任意の i, j」というのがおかしい、i を先に決定した上での「任意の j 」でいい
「任意の i, j」というのがおかしい、i を先に決定した上での「任意の j 」でいい
859デフォルトの名無しさん
2018/04/16(月) 20:09:07.01ID:w6kJX9+o 一応私数学の専門家
>>859
分野、ご専攻は何ですか?
分野、ご専攻は何ですか?
861デフォルトの名無しさん
2018/04/16(月) 20:17:49.89ID:w6kJX9+o バレるので言わない
狭い世界なんでね
狭い世界なんでね
862デフォルトの名無しさん
2018/04/16(月) 20:18:51.48ID:w6kJX9+o 駒場
とだけ言っておく
とだけ言っておく
863デフォルトの名無しさん
2018/04/16(月) 20:19:40.83ID:JqHYG+3X >>862
アロハシャツの先生元気?
アロハシャツの先生元気?
864デフォルトの名無しさん
2018/04/16(月) 20:21:37.49ID:w6kJX9+o ここまで
865デフォルトの名無しさん
2018/04/16(月) 20:23:32.19ID:w6kJX9+o 回転寿司問題の高速ソルバーを作ったのは私
867デフォルトの名無しさん
2018/04/16(月) 20:39:42.03ID:w6kJX9+o 集合論
868デフォルトの名無しさん
2018/04/16(月) 20:59:44.33ID:gZF8UNgN 群論・環論
ごめん聞いたことあるような言葉を羅列してみただけ
ごめん聞いたことあるような言葉を羅列してみただけ
869デフォルトの名無しさん
2018/04/16(月) 21:07:23.11ID:8eszbiHC お題
マイナンバーが一部欠けてしまった
?部分を補完して可能性のあるマイナンバーをすべて列挙せよ
[example 1]
99999999999?
=>
999999999996
[example 2]
??9999999999
=>
069999999999
179999999999
289999999999
399999999999
509999999999
619999999999
729999999999
839999999999
949999999999
マイナンバーが一部欠けてしまった
?部分を補完して可能性のあるマイナンバーをすべて列挙せよ
[example 1]
99999999999?
=>
999999999996
[example 2]
??9999999999
=>
069999999999
179999999999
289999999999
399999999999
509999999999
619999999999
729999999999
839999999999
949999999999
870デフォルトの名無しさん
2018/04/16(月) 22:11:04.19ID:NpxY1/hQ 摂動論とか難しいけどできたら気持ちいいだろうな
871デフォルトの名無しさん
2018/04/16(月) 22:21:24.15ID:p2Ysyc3s >>869 Ruby 全探索
A = (1..11).map{|i| i + 1 - i / 7 * 6}
%w[
99999999999? ??9999999999
].each{|s|
puts '', s, '=>'
10.**(s.count(??)).times{|i|
d = "%012d".%(i).chars
m = s.gsub(??){d.pop}.reverse.chars.map(&:to_i)
x = A.zip(m[1, 11]).map{|a, b| a * b}.sum % 11
puts m.reverse.join if (x == 1 ? 0 : -x % 11) == m[0]
}
}
#=>
99999999999?
=>
999999999996
??9999999999
=>
509999999999
619999999999
729999999999
839999999999
949999999999
069999999999
179999999999
289999999999
399999999999
A = (1..11).map{|i| i + 1 - i / 7 * 6}
%w[
99999999999? ??9999999999
].each{|s|
puts '', s, '=>'
10.**(s.count(??)).times{|i|
d = "%012d".%(i).chars
m = s.gsub(??){d.pop}.reverse.chars.map(&:to_i)
x = A.zip(m[1, 11]).map{|a, b| a * b}.sum % 11
puts m.reverse.join if (x == 1 ? 0 : -x % 11) == m[0]
}
}
#=>
99999999999?
=>
999999999996
??9999999999
=>
509999999999
619999999999
729999999999
839999999999
949999999999
069999999999
179999999999
289999999999
399999999999
872デフォルトの名無しさん
2018/04/17(火) 03:09:26.43ID:pX2t5ilp マイナンバーのチェックディジットを分かり易く解説しているページはないものかと探したらあったのでURL書いとく。
https://qiita.com/kmz_kappa/items/af18ac7b6b8bfe9041b0
https://qiita.com/kmz_kappa/items/af18ac7b6b8bfe9041b0
873デフォルトの名無しさん
2018/04/17(火) 10:02:17.20ID:XkVoPtoV >>858 マジだわ、算数できない奴に噛み付いて自分がダメージ受けた
やはり数学で無理に語るべきではないな、専攻の情報の範囲だけにしとこ……
やはり数学で無理に語るべきではないな、専攻の情報の範囲だけにしとこ……
874デフォルトの名無しさん
2018/04/17(火) 10:33:51.01ID:ePc5Lh3L >>869 Squeak/Pharo Smalltalk
| check |
check := [:digitsStr |
| digits checkDigit calcDigit |
digits := digitsStr asArray collect: #digitValue.
checkDigit := digits last.
calcDigit := ((digits * #(6 5 4 3 2 7 6 5 4 3 2 0)) sum \\ 11
in: [:x | x < 2 ifTrue: [0] ifFalse: [11 - x]]).
checkDigit = calcDigit
].
#('99999999999?' '??9999999999') collect: [:incmpNum |
| indices candNums |
indices := incmpNum asArray collectWithIndex: [:chr :idx | chr == $? ifTrue: [idx] ifFalse: [0]].
indices := indices reject: #isZero.
candNums := OrderedCollection new.
($0 to: $9) asDigitsToPower: indices size do: [:digs |
| candNum |
candNum := incmpNum copy.
indices with: digs do: [:idx :dig | candNum at: idx put: dig].
(check value: candNum) ifTrue: [candNums add: candNum]
].
incmpNum -> candNums asStringWithCr
]
| check |
check := [:digitsStr |
| digits checkDigit calcDigit |
digits := digitsStr asArray collect: #digitValue.
checkDigit := digits last.
calcDigit := ((digits * #(6 5 4 3 2 7 6 5 4 3 2 0)) sum \\ 11
in: [:x | x < 2 ifTrue: [0] ifFalse: [11 - x]]).
checkDigit = calcDigit
].
#('99999999999?' '??9999999999') collect: [:incmpNum |
| indices candNums |
indices := incmpNum asArray collectWithIndex: [:chr :idx | chr == $? ifTrue: [idx] ifFalse: [0]].
indices := indices reject: #isZero.
candNums := OrderedCollection new.
($0 to: $9) asDigitsToPower: indices size do: [:digs |
| candNum |
candNum := incmpNum copy.
indices with: digs do: [:idx :dig | candNum at: idx put: dig].
(check value: candNum) ifTrue: [candNums add: candNum]
].
incmpNum -> candNums asStringWithCr
]
875デフォルトの名無しさん
2018/04/17(火) 13:45:56.41ID:dXM64r3I876デフォルトの名無しさん
2018/04/17(火) 14:23:34.06ID:g5yHmTYu 自演乙。
877デフォルトの名無しさん
2018/04/17(火) 16:49:46.20ID:KTfx2aCu >>875
0296 デフォルトの名無しさん 2017/06/26 21:09:32
前にあったやつ。??
回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。??
コンベアは毎秒1皿分の速度で流れ、目の前の皿を取るか取らないかを選ぶことができる。??
皿取ると同時に食べ始め、食べている間は次の皿を取ることができない。??
私が取る以外、皿は追加されたり無くなったりしない。??
コンベアの状態が次のような文字列で与えられる。 ??
"31_2"??
数字はその皿を食べ終えるのにかかる秒数を表し、_は皿がないことを表す。1文字目が目の前にあり毎秒、左へ回転する。??
例えば、"31_2"で最初の皿を食べたとき食べ終わった時の状態は、"2_1_"となる。??
すべての寿司を食べ終えるまで最短何秒かかるか求めよ。??
"12_3" > 6秒??
"313__" > 8秒??
"4_35_1264_23_434" > 60秒??
"123456789123456789" > 98秒??
"88967472612377988186" > 149秒??
"19898693316679441672" > 170秒??
"93769682716711132249893" > ?
0296 デフォルトの名無しさん 2017/06/26 21:09:32
前にあったやつ。??
回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。??
コンベアは毎秒1皿分の速度で流れ、目の前の皿を取るか取らないかを選ぶことができる。??
皿取ると同時に食べ始め、食べている間は次の皿を取ることができない。??
私が取る以外、皿は追加されたり無くなったりしない。??
コンベアの状態が次のような文字列で与えられる。 ??
"31_2"??
数字はその皿を食べ終えるのにかかる秒数を表し、_は皿がないことを表す。1文字目が目の前にあり毎秒、左へ回転する。??
例えば、"31_2"で最初の皿を食べたとき食べ終わった時の状態は、"2_1_"となる。??
すべての寿司を食べ終えるまで最短何秒かかるか求めよ。??
"12_3" > 6秒??
"313__" > 8秒??
"4_35_1264_23_434" > 60秒??
"123456789123456789" > 98秒??
"88967472612377988186" > 149秒??
"19898693316679441672" > 170秒??
"93769682716711132249893" > ?
878デフォルトの名無しさん
2018/04/17(火) 17:32:19.21ID:dXM64r3I >>877
ありがとうございます
ありがとうございます
879デフォルトの名無しさん
2018/04/17(火) 19:05:05.39ID:S4fl8nYd >>322 J
echo !23x
echo !23x
880デフォルトの名無しさん
2018/04/17(火) 19:21:24.18ID:g5yHmTYu >>879
どうなってんのこれ
どうなってんのこれ
881デフォルトの名無しさん
2018/04/18(水) 00:46:46.99ID:fMrElfkf お題
0〜N-1の数字を1つずつ使ったN進数表記でN桁の数のうち、最も多くの素因数を持つ数を求めよ
N=2
→10
N=5
→34210 (10進数で2430=2*3^5*5, 素因数は7個)
N=10
→???
0〜N-1の数字を1つずつ使ったN進数表記でN桁の数のうち、最も多くの素因数を持つ数を求めよ
N=2
→10
N=5
→34210 (10進数で2430=2*3^5*5, 素因数は7個)
N=10
→???
882デフォルトの名無しさん
2018/04/18(水) 00:56:38.62ID:JUjvxXNW 全てを探索
しかない気がする
N=14くらいが限度か
しかない気がする
N=14くらいが限度か
883デフォルトの名無しさん
2018/04/18(水) 01:23:42.06ID:UfQjex1N まーた数学の問題か。
まーたマウント取りたいセンセの荒らしか。
うんざり
まーたマウント取りたいセンセの荒らしか。
うんざり
884デフォルトの名無しさん
2018/04/18(水) 03:59:26.48ID:Acg84ZKa アルゴリズムと数学は切り離せないものだし数学が役立つ場面はもちろん多いんだけど、数学だけで完結しちゃう問題では、プログラミングのお題としては面白味がないよね。
むしろこのスレに的には悪問と言ってもよいと個人的には思う。
素直なプログラミングでは複雑になってしまうところを数学を使うことでスマートに解けるとか、逆に数学を使うことで全く別のアプローチの解法があるとかだと、面白いと思う。
必ずしも速い、安い、上手いが正義じゃなくて、そんな解き方もあるのねとか、それどうなってんの?と不思議に思えるような解法とかも見てみたいし、そんな解法が見られるお題が面白いと思う。
むしろこのスレに的には悪問と言ってもよいと個人的には思う。
素直なプログラミングでは複雑になってしまうところを数学を使うことでスマートに解けるとか、逆に数学を使うことで全く別のアプローチの解法があるとかだと、面白いと思う。
必ずしも速い、安い、上手いが正義じゃなくて、そんな解き方もあるのねとか、それどうなってんの?と不思議に思えるような解法とかも見てみたいし、そんな解法が見られるお題が面白いと思う。
885デフォルトの名無しさん
2018/04/18(水) 04:07:00.58ID:Acg84ZKa 追加すると、言語によって異なる記述能力や得手不得手を活かして上手く解いたとか簡潔に書けたとか、逆にわざわざそんな敢えて難しいやり方をするかとか、そういうのも面白いなと思います。
886デフォルトの名無しさん
2018/04/18(水) 06:03:49.90ID:iqodOpJQ 数学で完結してんのかこれ
コンピュータ使わない解法思いつかんが
コンピュータ使わない解法思いつかんが
887デフォルトの名無しさん
2018/04/18(水) 07:07:15.79ID:qlMtX02l 素因数の個数って何だっけ
互いに素な約数の個数なら、N=5の時33220(=2310=2*3*5*7*11)の方が多いし、素因数分解で出てくる素数の個数ならN=5の時31143(=2048=2^11)の方が多いし
私が文を読めていないだけ?
互いに素な約数の個数なら、N=5の時33220(=2310=2*3*5*7*11)の方が多いし、素因数分解で出てくる素数の個数ならN=5の時31143(=2048=2^11)の方が多いし
私が文を読めていないだけ?
888デフォルトの名無しさん
2018/04/18(水) 07:22:32.10ID:pdl2KQl9 ただ列挙して調べなきゃいけないとすると面白くもなんともない。
いい解を作ろうとすれば、できるかどうかはともかく
数学ひねり回すのだけがメインの仕事になるみたいな。
いい解を作ろうとすれば、できるかどうかはともかく
数学ひねり回すのだけがメインの仕事になるみたいな。
889デフォルトの名無しさん
2018/04/18(水) 07:24:04.47ID:pdl2KQl9 >>887
0から4を全部使うという制約。
0から4を全部使うという制約。
890デフォルトの名無しさん
2018/04/18(水) 08:01:49.71ID:iqodOpJQ J ブルートフォース
q =: >./&(+/&|:&(0&<)&q:&(#. (i.@! A. i.)))"0
iPhone の J インタプリタでは N=8 までが限界だった
q 2 3 4 5 6 7 8
1 2 6 7 13 10 16
q =: >./&(+/&|:&(0&<)&q:&(#. (i.@! A. i.)))"0
iPhone の J インタプリタでは N=8 までが限界だった
q 2 3 4 5 6 7 8
1 2 6 7 13 10 16
891デフォルトの名無しさん
2018/04/18(水) 08:02:43.21ID:JUjvxXNW 素因数の個数だと2^11は2の1個だけなんだけどなあ
例だと11個と数えたいようだけど
例だと11個と数えたいようだけど
892デフォルトの名無しさん
2018/04/18(水) 08:04:10.88ID:iqodOpJQ 9 も大丈夫だった
q 9
12
q 9
12
893デフォルトの名無しさん
2018/04/18(水) 08:04:22.36ID:JUjvxXNW >>888
数学ひねり回してどうにかなる気はしない
数学ひねり回してどうにかなる気はしない
894デフォルトの名無しさん
2018/04/18(水) 08:15:58.76ID:iqodOpJQ >>891
問題の着目点に応じて相異なる素因数の数になるか重解を許すか解釈すればいいんじゃないの
そうしないと高校数学に良くある(このスレにも出てるな)
「n! の素因数2の個数を求めよ」の答えが恒等的に1になってしまう。
知らんけど。
問題の着目点に応じて相異なる素因数の数になるか重解を許すか解釈すればいいんじゃないの
そうしないと高校数学に良くある(このスレにも出てるな)
「n! の素因数2の個数を求めよ」の答えが恒等的に1になってしまう。
知らんけど。
895デフォルトの名無しさん
2018/04/18(水) 08:33:43.28ID:CiWWe7S5 重解
因数
意味を知らんヤツが問題を作る
因数
意味を知らんヤツが問題を作る
896デフォルトの名無しさん
2018/04/18(水) 08:39:01.69ID:loM0N11v 重解じゃなくて重根な
897デフォルトの名無しさん
2018/04/18(水) 08:40:26.67ID:CiWWe7S5 www
同じだろ
同じだろ
898デフォルトの名無しさん
2018/04/18(水) 08:48:02.15ID:iqodOpJQ いや重解は変換ミス
それに重複を許さない個数でも問題は成立するな、
良く考えると。
それに重複を許さない個数でも問題は成立するな、
良く考えると。
899デフォルトの名無しさん
2018/04/18(水) 08:53:49.03ID:loM0N11v900デフォルトの名無しさん
2018/04/18(水) 09:55:28.20ID:8LhMtFC1901デフォルトの名無しさん
2018/04/18(水) 10:31:06.41ID:SkflZos/ 自演乙
902デフォルトの名無しさん
2018/04/18(水) 11:13:23.97ID:2HNL8zBg >>889 Thanks、理解した
全探索しか思いつかなかったorz
全探索しか思いつかなかったorz
903デフォルトの名無しさん
2018/04/18(水) 14:43:49.71ID:mfkhz8pH >>816 J
200$(#~ 2&=@#@q:)2+i.1000
200$(#~ 2&=@#@q:)2+i.1000
904デフォルトの名無しさん
2018/04/18(水) 15:36:58.27ID:8LhMtFC1 このスレを見ると
世の中のソフトが重くなる理由がよく分かる
世の中のソフトが重くなる理由がよく分かる
905デフォルトの名無しさん
2018/04/18(水) 17:14:39.91ID:AXVF0Rxy >>903
それ1000までの間に半素数が200個存在するってあらかじめ分かってなきゃ使えなくない
それ1000までの間に半素数が200個存在するってあらかじめ分かってなきゃ使えなくない
906デフォルトの名無しさん
2018/04/18(水) 17:19:26.83ID:8LhMtFC1 あらかじめ調べておけばいい
どうせなら半素数自体もしらべてテーブルにしておけば
どうせなら半素数自体もしらべてテーブルにしておけば
907デフォルトの名無しさん
2018/04/18(水) 18:12:40.76ID:AXVF0Rxy だから調べてテーブル作るお題やろ
908デフォルトの名無しさん
2018/04/18(水) 18:20:10.32ID:8LhMtFC1 コンパイラが究極に進化するとそうなる
今でも純関数&定数指定にすれば
今でも純関数&定数指定にすれば
909デフォルトの名無しさん
2018/04/18(水) 18:35:30.37ID:MXcoXWvI 究極に進化して、ある数を素因数分解しろとか離散対数求めろと言われたら、
何桁でもテーブルにあって即答ってか?
暗号死ぬわ。
何桁でもテーブルにあって即答ってか?
暗号死ぬわ。
910デフォルトの名無しさん
2018/04/18(水) 18:51:51.73ID:8LhMtFC1 当然限度はある
当たり前
当たり前
911デフォルトの名無しさん
2018/04/18(水) 19:18:25.23ID:SkflZos/ 君さ、ちょっと黙ってて
913デフォルトの名無しさん
2018/04/18(水) 23:38:59.46ID:BI6oaZDa914デフォルトの名無しさん
2018/04/18(水) 23:39:47.19ID:BI6oaZDa ごめん。アンカ間違えた。>>869だった。
915デフォルトの名無しさん
2018/04/18(水) 23:57:26.29ID:+652BqLv トップバストとアンダーバストがmm単位で与えられるので
JIS L 4006におけるカップ体型区分を出力せよ
なお、与えられた体系が当該規格の数値と一致しない場合は
最も差の少ない体型区分を選べ
-*- input -*-
880 815
999 799
755 480
-*- output -*-
AA
E
H
JIS L 4006におけるカップ体型区分を出力せよ
なお、与えられた体系が当該規格の数値と一致しない場合は
最も差の少ない体型区分を選べ
-*- input -*-
880 815
999 799
755 480
-*- output -*-
AA
E
H
916デフォルトの名無しさん
2018/04/19(木) 00:17:12.74ID:7EnHL2Zb JISの抜粋はよ
917デフォルトの名無しさん
2018/04/19(木) 01:14:32.58ID:AYGORpen 三人目、人間?
918デフォルトの名無しさん
2018/04/19(木) 01:50:36.78ID:uvuGKqvu >>915 Ruby
919デフォルトの名無しさん
2018/04/19(木) 01:51:08.23ID:uvuGKqvu920デフォルトの名無しさん
2018/04/19(木) 02:02:41.15ID:FEDLlhkO Jアニキはよ
921デフォルトの名無しさん
2018/04/19(木) 04:01:30.95ID:4mrmpy84 このスレは、素数表を使う問題が多い
一方、プログラミング・コンテストでは、自作ライブラリも持ち込めるから、
素数表・ZDD を持ち込んで、解けるような問題は少ない
数学的な解法がなくて、全探索して見つけるものが多い
一方、プログラミング・コンテストでは、自作ライブラリも持ち込めるから、
素数表・ZDD を持ち込んで、解けるような問題は少ない
数学的な解法がなくて、全探索して見つけるものが多い
922デフォルトの名無しさん
2018/04/19(木) 09:28:13.47ID:/i49YDDr じゃあここで出てる問題をまず最初にNP完全かどうかを判定すればいい
競技プログラミングに適している問題かどうかを証明してから、改めてプログラミングにあたる
競技プログラミングに適している問題かどうかを証明してから、改めてプログラミングにあたる
923デフォルトの名無しさん
2018/04/19(木) 09:46:04.07ID:6rKghp/7 出題者がPと証明してから出すのが筋だろ
924デフォルトの名無しさん
2018/04/19(木) 09:51:24.98ID:4mrmpy84 プログラミング・コンテストの良問は、
持ち込みの自作ライブラリでは解けないもので、
素直に全探索すると、計算回数が1億回以上になって、2秒以内に解けないもの
ここで、パズル的に考えて、数学的な法則を使うことで、
枝切り・ショートカットして、計算回数が1千万回以下になるもの
持ち込みの自作ライブラリでは解けないもので、
素直に全探索すると、計算回数が1億回以上になって、2秒以内に解けないもの
ここで、パズル的に考えて、数学的な法則を使うことで、
枝切り・ショートカットして、計算回数が1千万回以下になるもの
925デフォルトの名無しさん
2018/04/19(木) 10:05:22.86ID:ffBaMipw >>915 J
f=:{&(25#'AA'';;/'ABCDEFGHI')@<.@-&62.5&(-/)
f=:{&(25#'AA'';;/'ABCDEFGHI')@<.@-&62.5&(-/)
926デフォルトの名無しさん
2018/04/19(木) 12:09:31.59ID:2nanKMvG >>925
分かりにくいのは毎度の事だが今回はあんまり短くもならないんだな。
分かりにくいのは毎度の事だが今回はあんまり短くもならないんだな。
927デフォルトの名無しさん
2018/04/19(木) 20:55:00.88ID:WIjUPUdP JアプリみつけたのでJで遊んでる初学者だけど
参考にするコード見つけにくい(少ない検索し難い読みにくい)から
>>925の人の存在は有り難い
見所はインデックスを25で割らずテーブルを25倍にしてるとこか
参考にするコード見つけにくい(少ない検索し難い読みにくい)から
>>925の人の存在は有り難い
見所はインデックスを25で割らずテーブルを25倍にしてるとこか
928デフォルトの名無しさん
2018/04/21(土) 20:19:05.79ID:ZknFSnjD929デフォルトの名無しさん
2018/04/21(土) 21:12:35.96ID:nWGazij5 配列を、って言ってるのに%wでスペース区切りの文字列から作るの?
てかrubyの%wって何のためにあるの?
splitあるのに組み込みので提供するほどのもの?
他言語者からしたらsplitは分かってもらえると思うが%wは分からんと思うぞ?
やっぱ書くだけの書き捨て言語なんかな。
てかrubyの%wって何のためにあるの?
splitあるのに組み込みので提供するほどのもの?
他言語者からしたらsplitは分かってもらえると思うが%wは分からんと思うぞ?
やっぱ書くだけの書き捨て言語なんかな。
930デフォルトの名無しさん
2018/04/21(土) 21:20:16.29ID:20hKSpui >>928 common lisp
(let ((a '("java" "ruby" "rust")))
(format t "~{~A~^, ~}~%" a)
(princ (reduce (lambda ($0 $1) (concatenate 'string $0 ", " $1)) a))
)
; java, ruby, rust
; java, ruby, rust
(let ((a '("java" "ruby" "rust")))
(format t "~{~A~^, ~}~%" a)
(princ (reduce (lambda ($0 $1) (concatenate 'string $0 ", " $1)) a))
)
; java, ruby, rust
; java, ruby, rust
931デフォルトの名無しさん
2018/04/21(土) 22:20:27.52ID:6J3G0l4e932デフォルトの名無しさん
2018/04/21(土) 22:36:51.73ID:QInDazsH >>928 ruby
puts a[0...-1].inject(''){|r,s| r << s << ',' } + a.last
puts a.inject(''){|r,s| r << s << ',' }.chop
puts a.map{|s| [s, ','] }.join.chop
b = a.join
a[0...-1].inject(0){|r,s| r += s.length + 1; b = b.insert(r-1, ','); r }
puts b
puts a[0...-1].inject(''){|r,s| r << s << ',' } + a.last
puts a.inject(''){|r,s| r << s << ',' }.chop
puts a.map{|s| [s, ','] }.join.chop
b = a.join
a[0...-1].inject(0){|r,s| r += s.length + 1; b = b.insert(r-1, ','); r }
puts b
933デフォルトの名無しさん
2018/04/21(土) 22:45:40.32ID:QInDazsH934デフォルトの名無しさん
2018/04/21(土) 23:51:06.09ID:Ktcilsrm >>931
今回のような??
今回の問題文、「文字列の配列をカンマ区切りで表示せよ」ってなってんだが…
スペース区切りの文字列から始めてどうする。
それじゃ%wで配列にするまでもなく正規表現でスペースをカンマに置換すればいいじゃん。
今回のような??
今回の問題文、「文字列の配列をカンマ区切りで表示せよ」ってなってんだが…
スペース区切りの文字列から始めてどうする。
それじゃ%wで配列にするまでもなく正規表現でスペースをカンマに置換すればいいじゃん。
935デフォルトの名無しさん
2018/04/22(日) 02:37:42.05ID:J/MYnpG1 >>928
Kotlin
https://paiza.io/projects/ZW2Hjc9tfnlrMwqvblaKlw
文字列は1行づつ入力から読んで MutableList に add して終わったら Array に変換して文字列の配列にしている。
Kotlin
https://paiza.io/projects/ZW2Hjc9tfnlrMwqvblaKlw
文字列は1行づつ入力から読んで MutableList に add して終わったら Array に変換して文字列の配列にしている。
936デフォルトの名無しさん
2018/04/22(日) 02:46:31.80ID:9vFMU6Rd >>928 javascript
var langs = ['javascript', 'python', 'go']
console.log(langs.join()) //ES5
console.log(langs.reduce((acc, elm) => `${acc},${elm}`)) //ES2015
langs |> ary => ary.join() |> console.log //ESNext
console.log((langs + ',').slice(0, -1)) //ES5
var langs = ['javascript', 'python', 'go']
console.log(langs.join()) //ES5
console.log(langs.reduce((acc, elm) => `${acc},${elm}`)) //ES2015
langs |> ary => ary.join() |> console.log //ESNext
console.log((langs + ',').slice(0, -1)) //ES5
937デフォルトの名無しさん
2018/04/22(日) 03:13:36.97ID:9vFMU6Rd 一番かんたんなの忘れてた
console.log(langs.toString())
console.log(langs + '')
console.log(`${langs}`)
console.log(langs.toString())
console.log(langs + '')
console.log(`${langs}`)
938デフォルトの名無しさん
2018/04/22(日) 03:19:59.16ID:9vFMU6Rd console.log(String(langs))
langs |> String |> console.log //ESNext
langs |> String |> console.log //ESNext
939デフォルトの名無しさん
2018/04/22(日) 06:29:12.88ID:xtwb4rw1 >>928 Squeak Smalltalk
| arr |
arr := #(java rust ruby).
arr asCommaString. "=> 'java, rust, ruby' "
arr asCommaStringAnd. "=> 'java, rust and ruby' "
String streamContents: [:ss |
arr do: [:each | ss << each] separatedBy: [ss << ', ']
]. "=> 'java, rust, ruby' "
| arr |
arr := #(java rust ruby).
arr asCommaString. "=> 'java, rust, ruby' "
arr asCommaStringAnd. "=> 'java, rust and ruby' "
String streamContents: [:ss |
arr do: [:each | ss << each] separatedBy: [ss << ', ']
]. "=> 'java, rust, ruby' "
940デフォルトの名無しさん
2018/04/22(日) 10:27:04.31ID:H/AU6k7y >>928
join一発でできるようなことをわざわざ問題にするなよ...
join一発でできるようなことをわざわざ問題にするなよ...
941デフォルトの名無しさん
2018/04/22(日) 12:09:53.80ID:q7xT1ItO 誰かにコードを教えてもらう為に「お題」と言ってるだけじゃね?
942デフォルトの名無しさん
2018/04/22(日) 13:43:01.03ID:RVJCTQ5T 不快に思うなら取り組まなきゃいいだけ
943デフォルトの名無しさん
2018/04/22(日) 13:54:40.34ID:teaX0R9Y サムダウンボタンがあったら容赦なく押していたよ
944デフォルトの名無しさん
2018/04/22(日) 13:57:18.11ID:6NfC/koQ 数学センセが嫉妬かみっともない
開口の広いお題が繁盛すんのは当たり前
開口の広いお題が繁盛すんのは当たり前
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】timelesz篠塚大輝『大きな古時計』替え歌一発ギャグ「今はもう動かない おじいさんにトドメ~♪」が波紋 [Ailuropoda melanoleuca★]
- 43歳の元NHKアナ・竹中知華、発売グラビアがランキングで堂々の1位「えぐすぎる」「素晴らしい」「もっと出して」 [muffin★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- ラーメン屋「日高屋が安いせいで客が来ない!日高屋はもっと値上げしろ!」 [449534113]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【朗報】日銀植田総裁「高市さんからの要望は特になかった」 [519511584]
