LoginSignup
0
0

More than 5 years have passed since last update.

『Q03 数列の四則演算』プログラマ脳を鍛える数学パズル

Posted at

1~100までのカードが並べられている。最初は全て裏である。2番目のカードから1枚おきに裏返す。3番目のカードは2枚おきに裏返す。同じようにn枚目のカードからn-1枚おきに裏返す。裏向きの番号を調べろ。(引用:プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問)

裏返すところは、書籍まんま。上手くいかんかった。

q3.rb
def trump(n)
  b=[]
  a=(1..n).map{|i| false}

  (2..n).each{|i|
    j=i-1
    while(j<a.length)
      a[j]=!a[j]
      j += i
    end
  }

  (1..n).each{|i| b<< i+1 if a[i]==false}
  puts b
end

trump(100)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0