Skip to content

Instantly share code, notes, and snippets.

@andy922200
Last active January 31, 2019 02:28
Show Gist options
  • Save andy922200/b132df49aa4f834f09b5803bbb65ebd9 to your computer and use it in GitHub Desktop.
Save andy922200/b132df49aa4f834f09b5803bbb65ebd9 to your computer and use it in GitHub Desktop.
ALPHA CAMP SEMESTER 1 Week 4
#使用者輸入正確性測試
puts "Please enter an integer (>=0)."
number = gets.chomp
#測試使用者的輸入是否為正整數 or 0 (此時為字串)
while number.match (/\D/)
puts "Please enter a correct integer again."
number = gets.chomp
end
#測試使用者的輸入是否為數字(此時為字串)
# ^為開始位置;[]為優先順序;?為前面字元出現0或1次;+為前面字元出現1或多次;*為前面字元出現0或多次;$為結束位置
until number.match (/^[+-]?\d+$/)
puts "Please enter a correct integer again."
number = gets.chomp
end
#測試使用者的輸入是否為數字(此時為字串)
# ^為開始位置;[]為優先順序;?為前面字元出現0或1次;+為前面字元出現1或多次;*為前面字元出現0或多次;$為結束位置
# https://www.regular-expressions.info/numericranges.html
# [1-9]\d{0,1} 表示 第一位取 1~9 之後可接 0~1 位的數字
until number.match (/^+?([1-9]\d{0,1}||100)$/)
puts "Please enter a correct number again."
number = gets.chomp
end
#轉換字串為數字
num = number.to_i
#判斷是否為質數
if num < 2
puts "It is NOT a prime number."
elsif num == 2
puts "It is a prime number."
else
for x in (2..num-1)
if (num % x) == 0
prime = false
end
end
if prime == false
puts "It is NOT a prime number."
else
puts "It is a prime number."
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment