プログラミングのお題スレです。
前スレ
プログラミングのお題スレ Part8©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1444216746/
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
探検
プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/12/01(木) 16:58:30.97ID:gTkHDluD
796デフォルトの名無しさん
2017/12/06(水) 00:46:18.89ID:DokUEpLm コンパイルが必要とかでスクリプト系の言語より
使うことに不便があるかもしれないが、
できるアプリが自由で高速・軽量!
ライブラリもSTLやboost以外にも、探せば便利なのがいっぱい。
使うことに不便があるかもしれないが、
できるアプリが自由で高速・軽量!
ライブラリもSTLやboost以外にも、探せば便利なのがいっぱい。
797デフォルトの名無しさん
2017/12/06(水) 01:07:01.76ID:+0bHqE6f よそのライブラリ使うとイデオンで動かないからなぁ。
まぁ、業務ではライセンスに合ったものを使えばいいよ。
まぁ、業務ではライセンスに合ったものを使えばいいよ。
798デフォルトの名無しさん
2017/12/06(水) 02:01:03.49ID:QVT4XBLu >>789
塊が移動すると考えれば良い。
例えば 7, 4, 2 だとすると、 789 と先頭の 0 が移動する塊だ。
で、ちょっと分かり易くするためにこの塊を伏せて * で書くとするとこうなる。
*123456***
それでこの塊を右に一つずらす。その時に1は食われて尻尾から吐き出される。
**234561**
移動量2なのでもう一回右にずらす。すると2が食われて尻尾から吐き出される。
***345612*
それでは * から 7890 に戻してみよう。
8903456127
できあがり。
塊が移動すると考えれば良い。
例えば 7, 4, 2 だとすると、 789 と先頭の 0 が移動する塊だ。
で、ちょっと分かり易くするためにこの塊を伏せて * で書くとするとこうなる。
*123456***
それでこの塊を右に一つずらす。その時に1は食われて尻尾から吐き出される。
**234561**
移動量2なのでもう一回右にずらす。すると2が食われて尻尾から吐き出される。
***345612*
それでは * から 7890 に戻してみよう。
8903456127
できあがり。
799デフォルトの名無しさん
2017/12/06(水) 02:58:25.26ID:+0bHqE6f800デフォルトの名無しさん
2017/12/06(水) 08:41:18.93ID:obBhCrma801デフォルトの名無しさん
2017/12/06(水) 17:48:37.81ID:T95E7suL log2だけど、これ使うといいらしいよ。分割統治法のBSA法というやつらしい。
2個ずつの積を繰り返すことで計算回数が減らせる。
{{1, a0}, {0, r}}*{{1, a1}, {0, r}}を[ [○,P], [○,Q] ]とおくと
r*P/Qはa0 + a1/rであり、
{{1, a0}, {0, r}}*{{1, a1}, {0, r}}*{{1, a2}, {0, r}}を[ [○,P], [○,Q] ]とおくと
r*P/Qはa0 + a1/r + a2/r^2。
上の式を実際に計算してみる。
http://www.wolframalpha.com/input/?i=%7B%7B1,+a0%7D,+%7B0,+r%7D%7D*%7B%7B1,+a1%7D,+%7B0,+r%7D%7D*%7B%7B1,+a2%7D,+%7B0,+r%7D%7D
2個ずつの積を繰り返すことで計算回数が減らせる。
{{1, a0}, {0, r}}*{{1, a1}, {0, r}}を[ [○,P], [○,Q] ]とおくと
r*P/Qはa0 + a1/rであり、
{{1, a0}, {0, r}}*{{1, a1}, {0, r}}*{{1, a2}, {0, r}}を[ [○,P], [○,Q] ]とおくと
r*P/Qはa0 + a1/r + a2/r^2。
上の式を実際に計算してみる。
http://www.wolframalpha.com/input/?i=%7B%7B1,+a0%7D,+%7B0,+r%7D%7D*%7B%7B1,+a1%7D,+%7B0,+r%7D%7D*%7B%7B1,+a2%7D,+%7B0,+r%7D%7D
802デフォルトの名無しさん
2017/12/06(水) 21:09:44.45ID:N+lgs3o9803デフォルトの名無しさん
2017/12/07(木) 00:07:53.25ID:YC8MWngg804デフォルトの名無しさん
2017/12/07(木) 09:24:10.80ID:XIHsqoOR >>801でできるはずだ。やってみる
805デフォルトの名無しさん
2017/12/07(木) 10:09:03.65ID:DjN/Fbox806デフォルトの名無しさん
2017/12/07(木) 15:54:52.13ID:XIHsqoOR 804だけど考えてみたら面倒なんだな。
有理数(整数)で完全に求めてから割り算するのは時間かかりそうだから、
展開も、割り算も、有限で打ち切って求める精度がでるようにするのが普通?
有理数(整数)で完全に求めてから割り算するのは時間かかりそうだから、
展開も、割り算も、有限で打ち切って求める精度がでるようにするのが普通?
807デフォルトの名無しさん
2017/12/07(木) 18:15:20.36ID:wGY0QmnN お題
辺の長さが10,000以下の整数である直方体について
すべての面の対角線も整数となるものを全て求める
辺の長さが10,000以下の整数である直方体について
すべての面の対角線も整数となるものを全て求める
808デフォルトの名無しさん
2017/12/07(木) 19:52:07.65ID:5gbe7aWB 対角線を出す式を忘れたのだ〜。
数学って難しい。
数学って難しい。
809デフォルトの名無しさん
2017/12/07(木) 20:10:49.23ID:bwV7uU+3810デフォルトの名無しさん
2017/12/07(木) 20:38:16.84ID:fmQCcJGl >>808
えーと、ほら、三角形の三角形のアレ
えーと、ほら、三角形の三角形のアレ
811デフォルトの名無しさん
2017/12/07(木) 21:23:21.04ID:BdlZ1dXv >>805 のソース一式とexeです。
>>680 の回答となります。
http://fast-uploader.com/file/7068204781334/
実行ファイルは、拡張子をexe_からexeに変えてください。
OSはWindows 64bit Vista以降
CPUはHaswell以降
で動作します。
>>680 の回答となります。
http://fast-uploader.com/file/7068204781334/
実行ファイルは、拡張子をexe_からexeに変えてください。
OSはWindows 64bit Vista以降
CPUはHaswell以降
で動作します。
812デフォルトの名無しさん
2017/12/07(木) 21:26:37.34ID:5gbe7aWB813デフォルトの名無しさん
2017/12/07(木) 21:34:41.35ID:5gbe7aWB あ〜ん。足し算10兆回かかるとかむりげーじゃ。
どうしようかこれ。
どうしようかこれ。
814デフォルトの名無しさん
2017/12/07(木) 21:40:02.60ID:5gbe7aWB815デフォルトの名無しさん
2017/12/07(木) 21:40:16.73ID:BdlZ1dXv816デフォルトの名無しさん
2017/12/07(木) 21:42:04.13ID:BdlZ1dXv817デフォルトの名無しさん
2017/12/07(木) 21:44:43.70ID:8KQwIEWy818デフォルトの名無しさん
2017/12/07(木) 21:48:20.51ID:5gbe7aWB ぶ。おれは・・・いったい・・・。
だめだなぁ。才能ないなぁ。
だめだなぁ。才能ないなぁ。
819デフォルトの名無しさん
2017/12/07(木) 22:07:39.64ID:BdlZ1dXv >>817の意味がわからん
解説よろしく!
解説よろしく!
820デフォルトの名無しさん
2017/12/07(木) 22:27:00.87ID:XIHsqoOR821デフォルトの名無しさん
2017/12/07(木) 22:32:10.24ID:5gbe7aWB グア。題意勘違いしてた。
直方体の対角線はいらんのか。うおー。
ばかばかー。
直方体の対角線はいらんのか。うおー。
ばかばかー。
822デフォルトの名無しさん
2017/12/07(木) 22:57:05.97ID:5gbe7aWB823デフォルトの名無しさん
2017/12/07(木) 23:06:46.33ID:BdlZ1dXv824デフォルトの名無しさん
2017/12/07(木) 23:06:47.69ID:8KQwIEWy825デフォルトの名無しさん
2017/12/07(木) 23:18:28.32ID:8ACt5G91 物体は表面だけでなく無数の内面を有するという考えは絶対に存在する
一方で全てを表面でしかとらえない人の存在も否定できない
一方で全てを表面でしかとらえない人の存在も否定できない
826デフォルトの名無しさん
2017/12/07(木) 23:24:59.96ID:BdlZ1dXv このポエムをどうプログラミングしろと?
827デフォルトの名無しさん
2017/12/08(金) 03:20:08.11ID:JkPU7Xcj828デフォルトの名無しさん
2017/12/08(金) 12:45:22.72ID:lX5lg0SB829デフォルトの名無しさん
2017/12/08(金) 14:42:05.63ID:3hyL4NRS830デフォルトの名無しさん
2017/12/08(金) 17:20:05.13ID:qoqqt6pE831デフォルトの名無しさん
2017/12/09(土) 00:08:31.54ID:NdkcUgXa >>828
時間的に無理だろって話
時間的に無理だろって話
832デフォルトの名無しさん
2017/12/09(土) 02:59:25.21ID:C21Kkp0z >>807
これでいいかな?
Kotlin で書いた。しかしpaiza.ioの制限なのか、何故か import kotlin.math.* がエラーだったので java.lang.Math の関数を使っている。
https://paiza.io/projects/ImbYdf3NSWgW-zj8Ke6cDw
これでいいかな?
Kotlin で書いた。しかしpaiza.ioの制限なのか、何故か import kotlin.math.* がエラーだったので java.lang.Math の関数を使っている。
https://paiza.io/projects/ImbYdf3NSWgW-zj8Ke6cDw
833デフォルトの名無しさん
2017/12/09(土) 09:05:25.04ID:WAlxvB4a お題
10,000以下の三角形数をもとめる
10,000以下の三角形数をもとめる
834デフォルトの名無しさん
2017/12/09(土) 09:42:44.72ID:HfcuYzyJ835デフォルトの名無しさん
2017/12/09(土) 10:35:24.71ID:PLdtTEIG >>833 ruby
i,j=0,-1;p i while(i+=j+=1)<10000
i,j=0,-1;p i while(i+=j+=1)<10000
836デフォルトの名無しさん
2017/12/09(土) 21:40:06.26ID:PLdtTEIG837デフォルトの名無しさん
2017/12/09(土) 23:46:47.87ID:3TNSAl29 ideone.comはたいして最適化しないBrainf**k処理系だからな
838デフォルトの名無しさん
2017/12/10(日) 00:50:34.10ID:J0bkBqjd839デフォルトの名無しさん
2017/12/10(日) 00:52:24.37ID:J0bkBqjd840デフォルトの名無しさん
2017/12/10(日) 08:00:18.20ID:uc7Ht429 >833 R
cat(cumsum(0:140))
cat(cumsum(0:140))
841デフォルトの名無しさん
2017/12/10(日) 09:05:44.08ID:gZDGKqrG >>801は精度管理の手間を考えたら、そのまま級数計算するのと大差ないと諦めたが。
こうすれば割り算の小数計算がほぼでないからいいのでは? 既に実装済?
an = 1/n、r = 2として、Σ an/r^n を定数C倍したやつの整数部分の取り出し。
C*anを再びanとおく。
Σ an/r^n
= a2/r^2 + a4/r^4 +・・・+ aN(2)/r^N(2) (添え字は2の倍数を動く)
+ a3/r^3 + a9/r^9 + a15/r^15 + ・・・+ aN(3)/r^N(3)
+ ap/r^p + ・・・+ aq/r^q + ・・・ (pは素数、qはp未満の数で割り切れないpの倍数)
= 1/N(2)r^N(2) * ( N(2)*a2*r^(N(2)-2) + ・・・ + N(2)*aN(2) ) + ・・
この分子部分は、各項、整数でそのまま計算しても>>801でも速くなるはず。
こうすれば割り算の小数計算がほぼでないからいいのでは? 既に実装済?
an = 1/n、r = 2として、Σ an/r^n を定数C倍したやつの整数部分の取り出し。
C*anを再びanとおく。
Σ an/r^n
= a2/r^2 + a4/r^4 +・・・+ aN(2)/r^N(2) (添え字は2の倍数を動く)
+ a3/r^3 + a9/r^9 + a15/r^15 + ・・・+ aN(3)/r^N(3)
+ ap/r^p + ・・・+ aq/r^q + ・・・ (pは素数、qはp未満の数で割り切れないpの倍数)
= 1/N(2)r^N(2) * ( N(2)*a2*r^(N(2)-2) + ・・・ + N(2)*aN(2) ) + ・・
この分子部分は、各項、整数でそのまま計算しても>>801でも速くなるはず。
842デフォルトの名無しさん
2017/12/10(日) 21:52:17.18ID:gZDGKqrG >>841は添え字に被りが出ていて間違えてた。
843デフォルトの名無しさん
2017/12/10(日) 22:07:36.99ID:XvO3Mos9 やってみて時間教えて
844デフォルトの名無しさん
2017/12/10(日) 22:08:42.09ID:XvO3Mos9845デフォルトの名無しさん
2017/12/10(日) 22:22:45.57ID:gZDGKqrG 秒数ではCPU依存するから正確に比較できない。
掛ける2だけのループを10^10回するだけでも19秒では終わらない。
無料のideone codepadなどの実行可能時間以内にできる範囲とか、
ベースとなる簡単なコード、関数の何倍時間がかかるかなどだと比較できるけど。
掛ける2だけのループを10^10回するだけでも19秒では終わらない。
無料のideone codepadなどの実行可能時間以内にできる範囲とか、
ベースとなる簡単なコード、関数の何倍時間がかかるかなどだと比較できるけど。
846デフォルトの名無しさん
2017/12/10(日) 22:36:08.95ID:3sNoocWL 演算回数の見積りは?
84735歳
2017/12/11(月) 02:10:45.96ID:OsSLt9Cy Bronze取りました
84835歳
2017/12/11(月) 02:11:34.08ID:OsSLt9Cy Bronze取りました
849デフォルトの名無しさん
2017/12/11(月) 04:58:28.24ID:zs4BBX0s850デフォルトの名無しさん
2017/12/11(月) 05:19:34.19ID:zs4BBX0s あ、ちなみにideoneの結果は間違っている
多分スタックオーバーフローしている
100, 50, 0の場合は答えは100
多分スタックオーバーフローしている
100, 50, 0の場合は答えは100
851デフォルトの名無しさん
2017/12/11(月) 05:38:23.74ID:pBTqvDfH852デフォルトの名無しさん
2017/12/11(月) 05:45:19.55ID:pBTqvDfH ところで、いくらメモ化してても5回しか呼ばれないってことがあるのか?って気はする。
853デフォルトの名無しさん
2017/12/11(月) 07:04:34.34ID:pBTqvDfH854デフォルトの名無しさん
2017/12/11(月) 07:09:30.00ID:pBTqvDfH あら、コンパイルエラーになっちゃった。
VCだと通ったんだけど。もちろんステップ数とか設定はいじってるが。
VCだと通ったんだけど。もちろんステップ数とか設定はいじってるが。
855デフォルトの名無しさん
2017/12/11(月) 08:32:22.37ID:gAGFZ0s2 >>849
こんなのとか?
たらいを回すならHaskella
2006年04月07日 22:09
http://blog.livedoor.jp/dankogai/archives/50447103.html
こんなのとか?
たらいを回すならHaskella
2006年04月07日 22:09
http://blog.livedoor.jp/dankogai/archives/50447103.html
856デフォルトの名無しさん
2017/12/11(月) 12:03:51.37ID:uZdMj4Ux お題
6つの辺の長さが 与えられた4面体の体積を求める
6つの辺の長さが 与えられた4面体の体積を求める
857デフォルトの名無しさん
2017/12/11(月) 13:07:53.63ID:iSg/oyC4 お題
8つの辺の長さが与えられた超5面体の体積を求める
8つの辺の長さが与えられた超5面体の体積を求める
858デフォルトの名無しさん
2017/12/11(月) 14:29:31.82ID:hKbhSguL お題
与えられた自然数を高々四個の四角数(平方数)の和で表せ
与えられた自然数を高々四個の四角数(平方数)の和で表せ
859デフォルトの名無しさん
2017/12/11(月) 14:35:19.85ID:k7Z6O4lr860デフォルトの名無しさん
2017/12/11(月) 16:06:12.32ID:k7Z6O4lr >>857
8つだと多胞体が一意に定まらないと思うんだが
8つだと多胞体が一意に定まらないと思うんだが
861デフォルトの名無しさん
2017/12/11(月) 16:48:32.53ID:qWzXCzKk >>853
64bit環境でやったらスラッシング起きて\(^o^)/
64bit環境でやったらスラッシング起きて\(^o^)/
862デフォルトの名無しさん
2017/12/11(月) 16:53:24.07ID:iSg/oyC4 >>860
じゃあ10個で
じゃあ10個で
863デフォルトの名無しさん
2017/12/11(月) 17:03:18.77ID:k7Z6O4lr >>862
10でも足りないと思うんだけどひょっとして超五面体って五胞体のつもりで言ってる?
10でも足りないと思うんだけどひょっとして超五面体って五胞体のつもりで言ってる?
864デフォルトの名無しさん
2017/12/11(月) 17:31:58.31ID:iSg/oyC4 4次元の5胞体
865デフォルトの名無しさん
2017/12/11(月) 17:32:53.55ID:iSg/oyC4 5C2=10
866デフォルトの名無しさん
2017/12/11(月) 22:30:10.81ID:pBTqvDfH867デフォルトの名無しさん
2017/12/11(月) 23:43:41.01ID:jF/PrBtV868デフォルトの名無しさん
2017/12/12(火) 00:19:40.23ID:JpJzeAvs >>866
悪い
VCで /constexpr:steps 1000000を付けてコンパイルしたら4秒ほどでコンパイルが終わった
多分/MPも付けてるからだと思う
実行結果は25になった
gcc 7.2.0 64bitだとどんどんメモリを食って行って最後にスラッシングが起きる
馬鹿正直な実装をしているからかも知れないね
VCの方がいろいろとメモリを食わないように工夫されてるのかも
Clangでも/constexpr:steps は -fconstexpr-steps という形でサポートされてるようだから
多分行けると思う
メモリ64G積んでるし
悪い
VCで /constexpr:steps 1000000を付けてコンパイルしたら4秒ほどでコンパイルが終わった
多分/MPも付けてるからだと思う
実行結果は25になった
gcc 7.2.0 64bitだとどんどんメモリを食って行って最後にスラッシングが起きる
馬鹿正直な実装をしているからかも知れないね
VCの方がいろいろとメモリを食わないように工夫されてるのかも
Clangでも/constexpr:steps は -fconstexpr-steps という形でサポートされてるようだから
多分行けると思う
メモリ64G積んでるし
869デフォルトの名無しさん
2017/12/12(火) 01:27:56.58ID:qpuoD4bc870デフォルトの名無しさん
2017/12/12(火) 04:08:00.08ID:SvlIPxM4871デフォルトの名無しさん
2017/12/12(火) 22:52:21.86ID:38dJ/vud 以下のURLのように、同じ色の点同士をつなぐゲームがある。
https://play.google.com/store/apps/details?id=com.bigduckgames.flow
N×Mの2次元配列が与えられる。配列の各要素は半角英字('a'-'z')または'*'である。
半角英字は色付きの点を表し、'*'は空のマスを表す。
'*'以外の文字は、配列中に必ず2個ずつ存在する。
このパズルの解を一つ出力せよ。
・'-'は左右のマスをつなぐ
・'|'は上下のマスをつなぐ
・'.'はマスをつながない
解がない場合は"No solution"と出力せよ。
[input]
***rg
**bg*
r****
ob*yo
****y
[output]
*-*-*-r.g
|.......|
*.*-b.g-*
|.|......
r.*.*-*-*
..|.|...|
o.b.*.y.o
|...|.|..
*-*-*.*-y
https://play.google.com/store/apps/details?id=com.bigduckgames.flow
N×Mの2次元配列が与えられる。配列の各要素は半角英字('a'-'z')または'*'である。
半角英字は色付きの点を表し、'*'は空のマスを表す。
'*'以外の文字は、配列中に必ず2個ずつ存在する。
このパズルの解を一つ出力せよ。
・'-'は左右のマスをつなぐ
・'|'は上下のマスをつなぐ
・'.'はマスをつながない
解がない場合は"No solution"と出力せよ。
[input]
***rg
**bg*
r****
ob*yo
****y
[output]
*-*-*-r.g
|.......|
*.*-b.g-*
|.|......
r.*.*-*-*
..|.|...|
o.b.*.y.o
|...|.|..
*-*-*.*-y
872デフォルトの名無しさん
2017/12/15(金) 09:30:54.91ID:gDuLBiTf >>841
やってはないけど、そもそもこれ間違ってるのと、同じような発想でやるとしても
全ての素数での分類ではなく、3分割くらいのほうが効率がいいのと、
Σ (2の倍数) + Σ (3の倍数かつ2の倍数でない) + Σ (2と3で割り切れない)
分割する事もなく、N項の和だとしたらNの階乗か分数をなくせる最小公倍数かけてもいい。それだと掛け算もしくは割り算がいくつも出てくるが。
やってはないけど、そもそもこれ間違ってるのと、同じような発想でやるとしても
全ての素数での分類ではなく、3分割くらいのほうが効率がいいのと、
Σ (2の倍数) + Σ (3の倍数かつ2の倍数でない) + Σ (2と3で割り切れない)
分割する事もなく、N項の和だとしたらNの階乗か分数をなくせる最小公倍数かけてもいい。それだと掛け算もしくは割り算がいくつも出てくるが。
873デフォルトの名無しさん
2017/12/16(土) 14:04:43.43ID:+Cq6iaDY >>871
等幅フォントで表示しているエディタにコピペしてようやっと何を言わんとしているか分かった。
それってマスとマスの間に - または | を入れて繋ぐってことでいいんだよね? で、つながない所がピリオドだと。
(まあ等幅フォントのASCIIでやるならそれしか方法ないとは思うけど)。
等幅フォントで表示しているエディタにコピペしてようやっと何を言わんとしているか分かった。
それってマスとマスの間に - または | を入れて繋ぐってことでいいんだよね? で、つながない所がピリオドだと。
(まあ等幅フォントのASCIIでやるならそれしか方法ないとは思うけど)。
874デフォルトの名無しさん
2017/12/16(土) 14:07:59.25ID:+Cq6iaDY しかしピリオドは
**
**
の時に
*.*
...
*.*
のようになって中央のピリオドが本来なら不要なものになるわけだが、それはスペースでなくても良いのかな?
まあただの幅合わせだからどうでもいいものではあるが。
**
**
の時に
*.*
...
*.*
のようになって中央のピリオドが本来なら不要なものになるわけだが、それはスペースでなくても良いのかな?
まあただの幅合わせだからどうでもいいものではあるが。
875デフォルトの名無しさん
2017/12/17(日) 12:04:31.10ID:V69L7+t+876デフォルトの名無しさん
2017/12/17(日) 12:18:14.72ID:V69L7+t+877デフォルトの名無しさん
2017/12/17(日) 17:50:05.54ID:3PMrWzl3 無理に線引かないでrだのgだので埋めた方がわかりやすいと思うがな
すべてのマスを埋めなければならないルールが抜け落ちてるみたいだから
実は別物のゲームで交差があるとかなったらそうはいかないが
すべてのマスを埋めなければならないルールが抜け落ちてるみたいだから
実は別物のゲームで交差があるとかなったらそうはいかないが
878デフォルトの名無しさん
2017/12/17(日) 20:33:27.61ID:0HU8GFa9 ブレゼンハム的なやつって、始点と傾き(と区間や境界等で決まる明示されない終点)が
与えられた際に、終点座標を求めてから始点に向かうのってアリなんだろうか?
与えられた際に、終点座標を求めてから始点に向かうのってアリなんだろうか?
879デフォルトの名無しさん
2017/12/18(月) 08:21:39.40ID:T+ClDj4W ここでやるには問題がでかすぎ
100分割してほしい
100分割してほしい
880デフォルトの名無しさん
2017/12/21(木) 14:37:42.61ID:/SOyyWKP >>871 Ruby
https://ideone.com/EOj9mz
ただし解は1つでありかつ線が通らないマスは無いことを前提とする
問題はここから引用:→http://www.nikoli.com/ja/puzzles/numberlink
https://ideone.com/EOj9mz
ただし解は1つでありかつ線が通らないマスは無いことを前提とする
問題はここから引用:→http://www.nikoli.com/ja/puzzles/numberlink
881デフォルトの名無しさん
2017/12/21(木) 14:38:13.66ID:/SOyyWKP あ、あと出力方法は自分好みに適当にいじってる
882デフォルトの名無しさん
2017/12/21(木) 15:58:54.33ID:jrnuCabF 訂正
ただし解は1つでありかつ線が通らないマスは無いことを前提とする
ではなく
解が存在すればすべての解は全てのマスを通ることを前提とする
ただし解は1つでありかつ線が通らないマスは無いことを前提とする
ではなく
解が存在すればすべての解は全てのマスを通ることを前提とする
883デフォルトの名無しさん
2017/12/22(金) 19:30:58.88ID:PPoMR9m8 お題
22の分割(たとえば3+3+5+8)のうち
分割したそれぞれの数の逆数の和が1になるものを求める
22の分割(たとえば3+3+5+8)のうち
分割したそれぞれの数の逆数の和が1になるものを求める
884デフォルトの名無しさん
2017/12/22(金) 19:39:05.90ID:PPoMR9m8 早速間違えましたすみません
3 +5 +6 +8
でした
3 +5 +6 +8
でした
885デフォルトの名無しさん
2017/12/22(金) 20:06:25.02ID:FRcsVGN9 >>883 ruby
f=->n,k{n==1?[[k]]:(1..k/n).flat_map{|i|f[n-1,k-i].map{|j|[i,*j].sort}}.uniq}
(1..22).each{|i|f[i,22].each{|a|p a if a.map{|e|1r/e}.sum==1}}
#=>[2, 4, 8, 8]
[2, 5, 5, 10]
[3, 3, 4, 12]
f=->n,k{n==1?[[k]]:(1..k/n).flat_map{|i|f[n-1,k-i].map{|j|[i,*j].sort}}.uniq}
(1..22).each{|i|f[i,22].each{|a|p a if a.map{|e|1r/e}.sum==1}}
#=>[2, 4, 8, 8]
[2, 5, 5, 10]
[3, 3, 4, 12]
886デフォルトの名無しさん
2017/12/22(金) 21:21:23.60ID:Mb+deFNF C++で書いたけど、オセー。
デバッグ大変だ。
うーん。困ったなぁ。
デバッグ大変だ。
うーん。困ったなぁ。
887デフォルトの名無しさん
2017/12/22(金) 22:04:05.10ID:Mb+deFNF888デフォルトの名無しさん
2017/12/22(金) 22:16:42.15ID:cfNB9eDL こういう数学的な問題を解くにはやっぱりプログラミング以前に数学を勉強した方がいいのでしょうか?
889デフォルトの名無しさん
2017/12/22(金) 22:23:25.38ID:Mb+deFNF >>888
数学は大事だよー。
俺数学出来ないから、解けない問題がそれなりにある。
算数では限界だ〜〜。
まぁ、数学とプログラミングって習得時はオーバーラップするところが少ないから融合するまでちょっと大変かな。
でも数学は強力なツールです。
数学は大事だよー。
俺数学出来ないから、解けない問題がそれなりにある。
算数では限界だ〜〜。
まぁ、数学とプログラミングって習得時はオーバーラップするところが少ないから融合するまでちょっと大変かな。
でも数学は強力なツールです。
890デフォルトの名無しさん
2017/12/22(金) 22:40:51.06ID:wxhiocJz 一般論でいえば必要だろうけど>>883なんて全部列挙したところで計算量はたかが知れてるし
目下必要なのは論理学的思考能力なのでは
目下必要なのは論理学的思考能力なのでは
891デフォルトの名無しさん
2017/12/22(金) 22:51:38.40ID:rSDEoHGj892デフォルトの名無しさん
2017/12/23(土) 10:08:16.78ID:t1pvAVGb お題
52をいくつかの自然数に分解して
それらの最小公倍数を最大化せよ
52をいくつかの自然数に分解して
それらの最小公倍数を最大化せよ
893デフォルトの名無しさん
2017/12/23(土) 10:30:51.64ID:NDYwz7Jw 分解って、積じゃなくて和で良いんだよね?
数学の知識を使うと一瞬だけど
数学の知識を使うと一瞬だけど
894デフォルトの名無しさん
2017/12/23(土) 10:47:21.72ID:xQ13BTQc >>892
2*3*5*7*11*23
2*3*5*7*11*23
895デフォルトの名無しさん
2017/12/23(土) 10:51:04.98ID:NDYwz7Jw >>894
ダメだろ
ダメだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国と対話で良い関係つくるのが責任と首相 ★3 [少考さん★]
- 参政党、梅村みずほ参院議員を党ボードメンバーから解任 参議院国会対策委員長の役職も外れる [少考さん★]
- 日本テレビ、国分太一の会見受け回答「『コンプライアンス違反行為があった』ということ以上に公にできない」「答え合わせ難しい」 [Ailuropoda melanoleuca★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★2 [おっさん友の会★]
- 〈シカが泣いている…〉奈良が“観光崩壊”危機…外国人観光客は44.5万人、宿泊客単価は3万1千円 [1ゲットロボ★]
- 人気ユーチューバー青木歌音、中国人に対する悪口投稿の自粛呼びかけ「日本のイメージも悪くなっちゃう」 [爆笑ゴリラ★]
- 野田「企業団体献金の受け手規制やりましょうよ!」高市「そんなことより議員定数削減やろうよ!」 [943688309]
- 【悲報】高市、終わるwwwwwwwwwwwwwwwwwww [308389511]
- 【速報】高市「日本はサンフランシスコ平和条約で台湾に関する全ての権利と権限を放棄している」事実上の答弁撤回か [931948549]
- フィフィの妹、美人だった [268244553]
- 【速報】高市「日本はサンフランシスコ平和条約で台湾に関する全ての権利と権限を放棄している。台湾の法的地位や認定する立場ではない」 [931948549]
- 愛国者「ギャー!2006年産の中国米が売ってるうううううううう!!!!」 [834922174]
