プログラミングのお題スレです。
前スレ
プログラミングのお題スレ 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
763デフォルトの名無しさん
2017/12/01(金) 21:19:54.38ID:9YSaSAW0 実用性なら
切りやすさとか余り素材の形状とか
そういうのが重要だろうに
問題として中途半端過ぎる
切りやすさとか余り素材の形状とか
そういうのが重要だろうに
問題として中途半端過ぎる
764デフォルトの名無しさん
2017/12/01(金) 21:20:21.36ID:qVeescqP また片山博文MZ が乞食をやってるのか
765デフォルトの名無しさん
2017/12/01(金) 21:23:07.33ID:9YSaSAW0 普通に考えて、NP問題だろう
766デフォルトの名無しさん
2017/12/01(金) 21:48:16.44ID:8H4JUlF5 なにやら揉めてますね
そろそろうんざりなので次のお題どうぞ
そろそろうんざりなので次のお題どうぞ
767デフォルトの名無しさん
2017/12/01(金) 23:36:29.58ID:N1IVcYDB スポーツスケジューリング問題。
768デフォルトの名無しさん
2017/12/03(日) 02:47:12.16ID:QazTjKaA お題ってこういうのでもいいのかな
a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
このように10個の整数を要素に持つ配列がある(整数の値は不定)
b = エントリーポイント
c = 移動する数量
d = 移動する距離
を与えることにより、配列の要素を移動させるプログラムを作りなさい
ただし配列の右端の要素を一つ移動させると、配列の左端に移動するものとする
例
a = 3, b = 1, c = 5, a = 0124567839
b = 1, c = 3, d = 1, a = 0412356789
b = 7, c = 1, d = 5, a = 1273456890
b = 0, c = 8, d = 1, a = 8012345679
b = 4, c = 5, d = 4, a = 6783901245
b = 9, c = 5, d = 4, a = 5679012384
b = 7, c = 3, d = 1, a = 9123456078
a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
このように10個の整数を要素に持つ配列がある(整数の値は不定)
b = エントリーポイント
c = 移動する数量
d = 移動する距離
を与えることにより、配列の要素を移動させるプログラムを作りなさい
ただし配列の右端の要素を一つ移動させると、配列の左端に移動するものとする
例
a = 3, b = 1, c = 5, a = 0124567839
b = 1, c = 3, d = 1, a = 0412356789
b = 7, c = 1, d = 5, a = 1273456890
b = 0, c = 8, d = 1, a = 8012345679
b = 4, c = 5, d = 4, a = 6783901245
b = 9, c = 5, d = 4, a = 5679012384
b = 7, c = 3, d = 1, a = 9123456078
769デフォルトの名無しさん
2017/12/03(日) 02:49:08.83ID:QazTjKaA770デフォルトの名無しさん
2017/12/03(日) 09:00:27.20ID:ucQfMVKf771デフォルトの名無しさん
2017/12/03(日) 09:04:48.71ID:b0AFqm0g772デフォルトの名無しさん
2017/12/03(日) 10:14:55.69ID:ZeeZWfzn773デフォルトの名無しさん
2017/12/03(日) 12:12:41.56ID:jbLAlLAh >>768
b + c が10を超えることはありますか?
b + c が10を超えることはありますか?
774デフォルトの名無しさん
2017/12/03(日) 12:55:22.10ID:sC6phLBS >>773訂正
b,c,dが10を越えることはありますか?
b,c,dが10を越えることはありますか?
775デフォルトの名無しさん
2017/12/03(日) 13:05:23.73ID:b0AFqm0g >>771はb,c,dが任意の自然数でも大丈夫なようにしておいた
776デフォルトの名無しさん
2017/12/03(日) 13:08:19.92ID:QazTjKaA みなさんプログラム作るの早いですね
>>774
一応a、b、cの条件は、このようになると思います。
0 <= a <= 9
0 <= b <= 8
0 <= c <= 10 - b - 1
bとcは0では意味がないので、こっちのほうがいいのかな
0 <= a <= 9
1 <= b <= 8
1 <= c <= 10 - b - 1
>>774
一応a、b、cの条件は、このようになると思います。
0 <= a <= 9
0 <= b <= 8
0 <= c <= 10 - b - 1
bとcは0では意味がないので、こっちのほうがいいのかな
0 <= a <= 9
1 <= b <= 8
1 <= c <= 10 - b - 1
777デフォルトの名無しさん
2017/12/03(日) 13:12:58.80ID:QazTjKaA778デフォルトの名無しさん
2017/12/03(日) 13:34:35.32ID:QazTjKaA779デフォルトの名無しさん
2017/12/03(日) 17:47:25.64ID:Gq7SJlPX Linked list 使うと楽そうな感じするな
780デフォルトの名無しさん
2017/12/03(日) 18:26:21.27ID:QazTjKaA >>770,771
せっかくなのでこのテストデータを作って検証してみましたが、全部合っていました、さすがですね
それにしても他人のプログラムって動かすことはできても、理解するのは困難ですね
>>772
Mathematicaは残念ながら持っていないので検証できませんでした
b = 8 c = 6 d = 2 a = 8901236745
b = 4 c = 3 d = 2 a = 0123784569
b = 4 c = 5 d = 2 a = 8123904567
b = 2 c = 5 d = 2 a = 0178234569
b = 0 c = 5 d = 3 a = 5670123489
b = 9 c = 3 d = 4 a = 3459016782
b = 5 c = 1 d = 7 a = 1253467890
b = 4 c = 6 d = 2 a = 8923014567
b = 6 c = 7 d = 2 a = 8901253467
b = 7 c = 5 d = 4 a = 5789016234
b = 4 c = 2 d = 2 a = 0123674589
b = 6 c = 4 d = 5 a = 4678950123
b = 7 c = 4 d = 4 a = 4789056123
b = 4 c = 5 d = 4 a = 6783901245
b = 8 c = 1 d = 5 a = 1238456790
b = 0 c = 2 d = 6 a = 2345670189
b = 3 c = 7 d = 1 a = 9120345678
b = 9 c = 4 d = 2 a = 4901256783
b = 8 c = 3 d = 6 a = 3456890712
b = 2 c = 5 d = 3 a = 0178923456
せっかくなのでこのテストデータを作って検証してみましたが、全部合っていました、さすがですね
それにしても他人のプログラムって動かすことはできても、理解するのは困難ですね
>>772
Mathematicaは残念ながら持っていないので検証できませんでした
b = 8 c = 6 d = 2 a = 8901236745
b = 4 c = 3 d = 2 a = 0123784569
b = 4 c = 5 d = 2 a = 8123904567
b = 2 c = 5 d = 2 a = 0178234569
b = 0 c = 5 d = 3 a = 5670123489
b = 9 c = 3 d = 4 a = 3459016782
b = 5 c = 1 d = 7 a = 1253467890
b = 4 c = 6 d = 2 a = 8923014567
b = 6 c = 7 d = 2 a = 8901253467
b = 7 c = 5 d = 4 a = 5789016234
b = 4 c = 2 d = 2 a = 0123674589
b = 6 c = 4 d = 5 a = 4678950123
b = 7 c = 4 d = 4 a = 4789056123
b = 4 c = 5 d = 4 a = 6783901245
b = 8 c = 1 d = 5 a = 1238456790
b = 0 c = 2 d = 6 a = 2345670189
b = 3 c = 7 d = 1 a = 9120345678
b = 9 c = 4 d = 2 a = 4901256783
b = 8 c = 3 d = 6 a = 3456890712
b = 2 c = 5 d = 3 a = 0178923456
781デフォルトの名無しさん
2017/12/03(日) 20:16:05.68ID:hV+xPFYR782デフォルトの名無しさん
2017/12/03(日) 20:37:58.61ID:ucQfMVKf783デフォルトの名無しさん
2017/12/03(日) 20:51:48.60ID:ucQfMVKf784デフォルトの名無しさん
2017/12/03(日) 23:00:23.32ID:QazTjKaA785デフォルトの名無しさん
2017/12/04(月) 02:36:11.06ID:iGjrIGoV786デフォルトの名無しさん
2017/12/04(月) 06:47:18.44ID:Rc7ie/2s >>785
b = 6、 c = 6、 d = 2
のときの動作がおかしいようです
8901452367
となるはずが
0167892345
となっており、移動する"678901"の並びが崩れてしまっています
b = 6、 c = 6、 d = 2
のときの動作がおかしいようです
8901452367
となるはずが
0167892345
となっており、移動する"678901"の並びが崩れてしまっています
787785
2017/12/05(火) 02:32:35.27ID:LDxS5CId >>786
問題勘違いしてました。素直にぐるぐる回すように修正しました。
https://paiza.io/projects/ncIY4LljeBahWZPJpd8ZPQ
下の「入力」タブの方にスペース区切りで b, c, d の値を1行づつ並べて入れてから実行させると「出力」に結果が出ます。
とりあえず >>768 に書いてある値を入力にセットしたところ出力は同じになりました。
問題勘違いしてました。素直にぐるぐる回すように修正しました。
https://paiza.io/projects/ncIY4LljeBahWZPJpd8ZPQ
下の「入力」タブの方にスペース区切りで b, c, d の値を1行づつ並べて入れてから実行させると「出力」に結果が出ます。
とりあえず >>768 に書いてある値を入力にセットしたところ出力は同じになりました。
788デフォルトの名無しさん
2017/12/05(火) 20:55:13.95ID:vy+ohhoY789デフォルトの名無しさん
2017/12/05(火) 21:48:50.31ID:32LsMTj+ >>768
僕の頭だとどうしても右端から左端に行くときの動きがイメージできないので、解答締め切ったあとでもいいのでちょろっと教えてもらえると嬉しいです
上3つまではわかるけどそこから先がそもそも答えにたどり着けない……
僕の頭だとどうしても右端から左端に行くときの動きがイメージできないので、解答締め切ったあとでもいいのでちょろっと教えてもらえると嬉しいです
上3つまではわかるけどそこから先がそもそも答えにたどり着けない……
790デフォルトの名無しさん
2017/12/05(火) 23:47:14.24ID:ynbcQBXQ791デフォルトの名無しさん
2017/12/06(水) 00:25:49.49ID:gvvJf1Ph >>789
上の3つまでは分かるということなので、3つめのcの値を一つずつ増やしてみると、こんな感じになります
"7"、"78"、"789"、"7890"と並ぶ数値が増えていっているのが分かると思います
c+d の合計は9が最高なので、これ以上cを増やすにはdを減らさなくてはなりません
b = 7 c = 1 d = 5 a = 1273456890
b = 7 c = 2 d = 5 a = 2378456901
b = 7 c = 3 d = 5 a = 3478956012
b = 7 c = 4 d = 5 a = 4578906123
今度はcを2に固定して、dの値を一つずつ増やすと、こんな感じになります
"78"の並びが一つずつ右へずれていっているのが分かると思います
c+d の合計は9が最高なので、これ以上dを増やすにはcを減らさなくてはなりません
b = 7 c = 2 d = 1 a = 0123456978
b = 7 c = 2 d = 2 a = 8123456907
b = 7 c = 2 d = 3 a = 7823456901
b = 7 c = 2 d = 4 a = 2783456901
b = 7 c = 2 d = 5 a = 2378456901
b = 7 c = 2 d = 6 a = 2347856901
b = 7 c = 2 d = 7 a = 2345786901
こんな感じで分かるでしょうか?私も自分の頭で考えると混乱しますw
上の3つまでは分かるということなので、3つめのcの値を一つずつ増やしてみると、こんな感じになります
"7"、"78"、"789"、"7890"と並ぶ数値が増えていっているのが分かると思います
c+d の合計は9が最高なので、これ以上cを増やすにはdを減らさなくてはなりません
b = 7 c = 1 d = 5 a = 1273456890
b = 7 c = 2 d = 5 a = 2378456901
b = 7 c = 3 d = 5 a = 3478956012
b = 7 c = 4 d = 5 a = 4578906123
今度はcを2に固定して、dの値を一つずつ増やすと、こんな感じになります
"78"の並びが一つずつ右へずれていっているのが分かると思います
c+d の合計は9が最高なので、これ以上dを増やすにはcを減らさなくてはなりません
b = 7 c = 2 d = 1 a = 0123456978
b = 7 c = 2 d = 2 a = 8123456907
b = 7 c = 2 d = 3 a = 7823456901
b = 7 c = 2 d = 4 a = 2783456901
b = 7 c = 2 d = 5 a = 2378456901
b = 7 c = 2 d = 6 a = 2347856901
b = 7 c = 2 d = 7 a = 2345786901
こんな感じで分かるでしょうか?私も自分の頭で考えると混乱しますw
792デフォルトの名無しさん
2017/12/06(水) 00:31:57.65ID:+0bHqE6f 自分の考え方は、配列の一部を切り取ってパッディングするんだけど、
まず配列を回転させて切り取る第0インデックスを配列の最初に持って来る。
すると、配列の後ろにはすでにパディングが終わった数列のができてる。
で切り取って削除して尻尾にくっつける。
で、さっき回した分を戻してやると完成。
という方法で、>>770を解いた。
まず配列を回転させて切り取る第0インデックスを配列の最初に持って来る。
すると、配列の後ろにはすでにパディングが終わった数列のができてる。
で切り取って削除して尻尾にくっつける。
で、さっき回した分を戻してやると完成。
という方法で、>>770を解いた。
793デフォルトの名無しさん
2017/12/06(水) 00:32:05.18ID:+0bHqE6f 自分の考え方は、配列の一部を切り取ってパッディングするんだけど、
まず配列を回転させて切り取る第0インデックスを配列の最初に持って来る。
すると、配列の後ろにはすでにパディングが終わった数列のができてる。
で切り取って削除して尻尾にくっつける。
で、さっき回した分を戻してやると完成。
という方法で、>>770を解いた。
まず配列を回転させて切り取る第0インデックスを配列の最初に持って来る。
すると、配列の後ろにはすでにパディングが終わった数列のができてる。
で切り取って削除して尻尾にくっつける。
で、さっき回した分を戻してやると完成。
という方法で、>>770を解いた。
794デフォルトの名無しさん
2017/12/06(水) 00:32:32.42ID:+0bHqE6f あちゃー
二重投稿になったある。
そんなに大事でもないのだけど。
二重投稿になったある。
そんなに大事でもないのだけど。
795デフォルトの名無しさん
2017/12/06(水) 00:38:22.54ID:+0bHqE6f C++は比較的不自由な言語なので頭使うのは鍛えられるよ。
パーツが少ないのでほとんど自作しないといけない。
パーツが少ないのでほとんど自作しないといけない。
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個で
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【ネット民のツッコミ】立憲・野田代表の「事実上の撤回」発言がトレンド、「高市さんそんな事は言ってない」「流石に無理あるだろw」 [1ゲットロボ★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 【金沢地裁】「風俗嬢に着せようと」南砺の高校で女子バレー部のユニホームを窃盗した男が説明 検察側、拘禁刑4年を求刑 [nita★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 首相答弁「スパイ防止法、外国代理人登録法、ロビー活動公開法などについて速やかに法案を策定する」 [1ゲットロボ★]
- 終焉を待ち望む遊戯王やってる奴スレ
- 【高市悲報】中国「ふにゃふにゃ言いながら、時が自然に解決するのを期待する—そんなジャップ流は決して通用しない」 [115996789]
- 【悲報】ゼレンスキー大統領、和平案に大筋合意 ホンコンみたいなウヨ芸人を大統領にするとこうなる [455031798]
- キャバクラ嬢がほぼ全レス
- ちんちん剥き剥き体操の女版、存在していた…女の子おまたケアはビラビラを [776365898]
- 🇨🇳🔥香港大規模火災、最新情報。少なくとも36人死亡、279人行方不明 [718678614]
