aboutsummaryrefslogtreecommitdiff
path: root/challenge-150/robert-dicicco/ruby/ch-2.rb
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-02-02 17:16:00 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-02-02 17:16:00 +0000
commitea530bc5cf89e42ab0175eec72b2ebccfa3fdad4 (patch)
treeb0c67aab5f3f0b89abe7ec3eb107a7648a2f32e4 /challenge-150/robert-dicicco/ruby/ch-2.rb
parent05594b511709e75cc13c72043d2cec77bfeb5d3a (diff)
downloadperlweeklychallenge-club-ea530bc5cf89e42ab0175eec72b2ebccfa3fdad4.tar.gz
perlweeklychallenge-club-ea530bc5cf89e42ab0175eec72b2ebccfa3fdad4.tar.bz2
perlweeklychallenge-club-ea530bc5cf89e42ab0175eec72b2ebccfa3fdad4.zip
- Added solutions by Robert DiCicco.
Diffstat (limited to 'challenge-150/robert-dicicco/ruby/ch-2.rb')
-rw-r--r--challenge-150/robert-dicicco/ruby/ch-2.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/challenge-150/robert-dicicco/ruby/ch-2.rb b/challenge-150/robert-dicicco/ruby/ch-2.rb
new file mode 100644
index 0000000000..970e737cb0
--- /dev/null
+++ b/challenge-150/robert-dicicco/ruby/ch-2.rb
@@ -0,0 +1,47 @@
+#!ruby.exe
+
+# Author: Robert DiCicco
+# Date: 31-JAN-2022
+# Challenge 150 Square-Free Integer (Ruby)
+
+fsums = []
+LIMIT = 500
+
+def factors(num)
+ arr = []
+ (1..num).each do |f|
+ if num % f == 0
+ arr.push(f)
+ end
+ end
+
+ return arr
+end
+
+def checkFactors(f)
+ f.each do |p|
+ next if p == 1
+ if IsPerfectSquare(p) == true
+ return false
+ else
+ next
+ end
+ end
+
+ return true
+end
+
+def IsPerfectSquare(num)
+ Integer.sqrt(num) ** 2 == num
+end
+
+(1..LIMIT).each do |num|
+ facarr = factors(num)
+ retval = checkFactors(facarr)
+
+ if retval
+ fsums.push(num)
+ end
+end
+
+puts "#{fsums}"