mirror of
https://github.com/TheAlgorithms/Ruby
synced 2025-01-30 20:34:53 +01:00
prime number: review comments-3 implementation
This commit is contained in:
parent
00d1ed0973
commit
a864792884
1 changed files with 18 additions and 10 deletions
|
@ -2,30 +2,38 @@
|
|||
# Mathematical explanation: A number which has only 2 factors i.e., 1 (one) and itself
|
||||
|
||||
# Prime number check function
|
||||
def is_prime_number(number)
|
||||
prime_flag = false
|
||||
if number>0
|
||||
def prime_number(number)
|
||||
non_prime_flag = false
|
||||
if number > 0
|
||||
if number == 1
|
||||
prime_flag = true
|
||||
non_prime_flag = true
|
||||
elsif number == 2
|
||||
non_prime_flag = false
|
||||
elsif number % 2 == 0
|
||||
non_prime_flag = true
|
||||
else
|
||||
prime_flag = (2..number/2).any? { |i| number % i == 0 }
|
||||
non_prime_flag = (2..Math.sqrt(number)).any? { |i| number % i == 0 }
|
||||
end
|
||||
else
|
||||
prime_flag = true
|
||||
non_prime_flag = true
|
||||
end
|
||||
|
||||
if !prime_flag
|
||||
if !non_prime_flag
|
||||
puts "The given number #{number} is a Prime."
|
||||
else
|
||||
puts "The given number #{number} is not a Prime."
|
||||
end
|
||||
end
|
||||
|
||||
# Non-prime input
|
||||
prime_number(1)
|
||||
|
||||
# prime input
|
||||
is_prime_number(2)
|
||||
# Number 2 is an even prime number
|
||||
prime_number(2)
|
||||
|
||||
# Non-prime input
|
||||
is_prime_number(20)
|
||||
prime_number(20)
|
||||
|
||||
# Negative input
|
||||
is_prime_number(-21)
|
||||
prime_number(-21)
|
||||
|
|
Loading…
Add table
Reference in a new issue