編集-あなたが問題のように1、2、3、4、6だけを求めていたと仮定して、一般的な場合のために改善されました!
あなたが望むのは、与えられた周期でNを変調することです。(私の用語はおそらく完全に間違っています:Dおそらく私の高校の物理学をもう一度読んでください!)
Rubyを持ってください。
def spread_it(n)
d = 12.0 / n
(0..11).map do |index|
(12.0 - (index % d) > 11.0) ? '1' : '0'
end
end
(1..12).each do |n|
puts "N=#{n} - #{spread_it n}"
end
出力は次のとおりです。
N=1 - ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]
N=2 - ["1", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0"]
N=3 - ["1", "0", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0"]
N=4 - ["1", "0", "0", "1", "0", "0", "1", "0", "0", "1", "0", "0"]
N=5 - ["1", "0", "0", "1", "0", "1", "0", "0", "1", "0", "1", "0"]
N=6 - ["1", "0", "1", "0", "1", "0", "1", "0", "1", "0", "1", "0"]
N=7 - ["1", "0", "1", "0", "1", "0", "1", "1", "0", "1", "0", "1"]
N=8 - ["1", "0", "1", "1", "0", "1", "1", "0", "1", "1", "0", "1"]
N=9 - ["1", "0", "1", "1", "1", "0", "1", "1", "1", "0", "1", "1"]
N=10 - ["1", "0", "1", "1", "1", "1", "1", "0", "1", "1", "1", "1"]
N=11 - ["1", "0", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1"]
N=12 - ["1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1"]
今はまし?:)