[過去ログ]
プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net (1002レス)
プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1480579110/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
412: デフォルトの名無しさん [sage] 2017/07/24(月) 19:10:35.21 ID:nJVItCRy >>411 Ruby def farey_sequence(n) (1..n-1).map{|i| 1r*i/n} end def ans_411(m) (2..m).map{|i| farey_sequence(i)}.flatten.uniq.sort end ans_411 3 #=> [(1/3), (1/2), (2/3)] ans_411 5 #=> [(1/5), (1/4), (1/3), (2/5), (1/2), (3/5), (2/3), (3/4), (4/5)] http://mevius.5ch.net/test/read.cgi/tech/1480579110/412
418: 411 [sage] 2017/07/26(水) 19:54:35.63 ID:6H34MdHA >>412 ファレイ数列の中間数(mediant)を再帰的に生成すると、uniqもsortも要らないのだけど、 mが3や5だと大差無いかw http://mevius.5ch.net/test/read.cgi/tech/1480579110/418
425: 412 [sage] 2017/07/27(木) 00:12:38.86 ID:qteH6K3e そもそも>>412のfarey_sequenceは定義が間違ってたわ んでもって再帰にすると>>412より遅くなるという Ruby class Farey def self.[](m) if m == 1 [0r, 1r] else succ(m - 1) end end def self.succ(m) self[m].each_cons(2).inject([0r]){|s, (a, b)| x = a.denominator + b.denominator s << 1r*(a.numerator + b.numerator)/x if x == m + 1 s << b } end end Farey[3] # => [(0/1), (1/3), (1/2), (2/3), (1/1)] Farey[5] # => [(0/1), (1/5), (1/4), (1/3), (2/5), (1/2), (3/5), (2/3), (3/4), (4/5), (1/1)] http://mevius.5ch.net/test/read.cgi/tech/1480579110/425
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.153s*