[過去ログ] プログラミングのお題スレ Part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
654: 2020/01/19(日)20:22 ID:MJwntUeD(1) AAS
>>652
PowerShellには論理XOR演算子があるので簡潔に書けるな。
(1..1000 |? {$_ % 3 -xor $_ % 5} | measure -sum).sum
-- 実行結果 --
201003
655(1): 2020/01/19(日)21:28 ID:RfLx+x9F(1/2) AAS
>>652
なぜそう思った?
656: 2020/01/19(日)21:32 ID:CR4NZ4aH(2/2) AAS
>>655
だけ と強調してたから15を含めない意図があったのかと思った
657: 2020/01/19(日)21:35 ID:RrNuywTU(1) AAS
「3の倍数または5の倍数であるものだけ」という文言をそう理解するのは宇宙でお前だけだと思う
658(1): 2020/01/19(日)22:24 ID:RfLx+x9F(2/2) AAS
妊娠してるか体が不自由な人だけ使ってください
659: 2020/01/19(日)23:13 ID:xkwic4JQ(1) AAS
>>658
妊娠してる障害者はすわれないやんけ!
660(1): 2020/01/20(月)07:26 ID:MadDRkAO(1) AAS
日本語の選択が排他的かどうかは状況しだいだから難しいところだと思うけどね
レストランで「コーヒーか紅茶が付きます」と言えばどちらか一方でしょ
ケースバイケース
こう解釈したらこういうプログラムになるというふうに思考を広げることはできるっしょ
661: 2020/01/20(月)08:18 ID:ItoFGwWk(1) AAS
それは選ぶ条件ではなく、選ぶ個数の問題
>>346は全て選ぶのが暗黙の了解
>>660は選ぶのが1個であるのが暗黙の了解
>>346も全てとは書いてないから
1個選ぶのか、任意の個数選ぶのか、全ての選び方の場合を求めるのか、などが考えられるのかも
誤解の可能性があるなら「全て選ぶ」と書かないとね
662: 2020/01/20(月)10:07 ID:DzK/Jy6Q(1) AAS
0個選んで答えは0
コンピュータ言語読み書きしてたらこういう
発想が自然に感じられるが
日常言語の世界ではナンセンス杉
663: 2020/01/20(月)14:10 ID:gT/yNp+O(1) AAS
>651 のようにした
common lisp
(loop for i from 1 to 1000 when (= (* (mod i 3) (mod i 5)) 0) sum i)
234168
664: 2020/01/20(月)15:41 ID:/G9h8LiI(1) AAS
>>651 Ruby
def si(n,m); n.step(m,n).inject(:+); end
p n3 = si( 3, 1000 ) #=> 166833
p n5 = si( 5, 1000 ) #=> 100500
p n15 = si( 15, 1000 ) #=> 33165
p n3 + n5 - 2 * n15 #=> 201003
665(1): 2020/01/20(月)21:46 ID:eV9B9Eib(1) AAS
>>629
Rで全探索
外部リンク:ideone.com
物が9個しかないので512通りの組み合わせを全探索してもすぐ終わるし、
上のプログラムの2番目の問題のように、合計価値が最大となる組み合わせが
複数ある場合でもすべて挙げられるし、重さが小数や大きな整数の場合でも
同様に解けるから、全探索が時間的に可能なら全探索の方が良いんじゃないか?
666: 2020/01/20(月)22:42 ID:vyZs8dgX(1/2) AAS
>>665
問題の条件によって適した解法が変わる。
たとえば個数が高々十数個程度であっても、
個々の重さや価値の範囲が広く、詰め込める荷物のキャパが大きいとか、
整数でない場合は、動的計画法だと解けないが、ナイーブな解法なら解ける。
逆に個数が大きくて、個々の重さや価値、キャパがそれほど大きくない整数だと、
ナイーブな解法では時間がかかりすぎて解けないが、
動的計画法だと短時間で解ける。
条件によって適した解法を選択する。
>>653 は動的計画法の復習と最適解に至る経路を逆にたどる復習のつもりで書いのよん。
667: 2020/01/20(月)23:01 ID:kEPXORSp(1) AAS
問題に適した解法なら>>631が最強
668: 2020/01/20(月)23:10 ID:vyZs8dgX(2/2) AAS
(´・ω・`)「・・・・・」
669: 2020/01/21(火)14:48 ID:/dftakVp(1) AAS
>>650
Kotlin script
KotlinもBooleanのxor使えたよ。こういう場合は優先順位の問題で括弧が必要になるけどね。
println((1..1000).filter { (it % 3 == 0) xor (it % 5 == 0) }.sum())
670(1): [age] 2020/01/21(火)16:44 ID:TMO7rdDn(1) AAS
!=でいんじゃ、、、
671(6): 2020/01/21(火)21:56 ID:q8k+mYw1(1/2) AAS
["A -> B" , "A -> D", "B -> E", "D -> E"]
を
A
B
E
D
E
このようにツリー状に表現する際に計算量が少ない書き出し方ってどうなりますか。言語問いません。
672: 2020/01/21(火)21:57 ID:q8k+mYw1(2/2) AAS
スペースきえた…
673: 2020/01/21(火)21:58 ID:5H3OckH4(1) AAS
D -> B のようなループできるかもね
上下前次1-新書関写板覧索設栞歴
あと 329 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s