Last active
January 31, 2019 02:28
-
-
Save andy922200/b132df49aa4f834f09b5803bbb65ebd9 to your computer and use it in GitHub Desktop.
ALPHA CAMP SEMESTER 1 Week 4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#使用者輸入正確性測試 | |
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