coding for food

[Ruby] exercise _ Perfect Square

silveryen 2022. 8. 7. 03:42

Write a method perfect_square? that takes in a number and returns a boolean indicating whether it is a perfect square. A perfect square is a number that results from multiplying a number by itself. For example, 9 is a perfect square because 3 3 = 9, 25 is a perfect square because 5 5 = 25.

def perfect_square?(num)

end

puts perfect_square?(5)   #=> false
puts perfect_square?(12)  #=> false
puts perfect_square?(30)  #=> false
puts perfect_square?(9)   #=> true
puts perfect_square?(25)  #=> true
# solution

def perfect_square?(num)
  (1..num).each do |factor|
    if factor * factor == num
      return true
    end
  end

  return false # 모든 loop를 다 돌고 나서야 return 되어야 한다.
end

puts perfect_square?(5)   #=> false
puts perfect_square?(12)  #=> false
puts perfect_square?(30)  #=> false
puts perfect_square?(9)   #=> true
puts perfect_square?(25)  #=> true