From a8233bf1a864649c9fc286f45e674706423b60b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8frendo?= Date: Mon, 26 Sep 2016 10:49:49 +0100 Subject: [PATCH 1/2] ruby code prep --- power.rb | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 power.rb diff --git a/power.rb b/power.rb new file mode 100644 index 0000000..a86c500 --- /dev/null +++ b/power.rb @@ -0,0 +1,72 @@ +def power(a, b) + result = 1 + for i in 0...b + result = result * a + end + return result +end + +def factorial(a) + result = 1 + for i in 1..a + result = result * i + end + return result +end + +def uniques(a) + result = Array.new + a.each do |item| + if result.include? item + else + result.push(item) + end + end + return result +end + +def combinations(a, b) + result = Array.new + a.each do |prefix| + b.each do |suffix| + result.push(prefix + suffix) + end + end + return result +end + +def is_prime?(a) + (2..Math.sqrt(a)).each { |i| return false if a % i == 0} + true +end + +def overlap(rect1, rect2) + x_min = [rect1[0][0], rect2[0][0]].max + x_max = [rect1[1][0], rect2[1][0]].min + + y_min = [rect1[0][1], rect2[0][1]].max + y_max = [rect1[1][1], rect2[1][1]].min + + if ((x_max <= x_min) || (y_max <= y_min)) + return false + else + return true + end + +end + +ARGV.each do |x| + x +end +a = ARGV[0].to_i +b = ARGV[1].to_i +puts power(a,b) +puts factorial(b) +print uniques([1,5,'frog',2,1,3,'frog']) +puts '' +print combinations(['on','in'],['to','rope']) +puts '' +puts is_prime?(7) +puts is_prime?(14) +puts overlap( [ [0,0],[3,3] ], [ [1,1],[4,5] ] ) +puts overlap( [ [0,0],[1,4] ], [ [1,1],[3,2] ] ) From 660a4a9632df0a2a4a54d9e35d43b5589bfa5f1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A8frendo?= Date: Mon, 26 Sep 2016 11:32:12 +0100 Subject: [PATCH 2/2] update variable names --- power.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/power.rb b/power.rb index a86c500..4633688 100644 --- a/power.rb +++ b/power.rb @@ -1,14 +1,14 @@ -def power(a, b) +def power(base, exponent) result = 1 - for i in 0...b - result = result * a + for i in 0...exponent + result = result * base end return result end -def factorial(a) +def factorial(num) result = 1 - for i in 1..a + for i in 1..num result = result * i end return result @@ -25,18 +25,18 @@ def uniques(a) return result end -def combinations(a, b) +def combinations(a, a2) result = Array.new a.each do |prefix| - b.each do |suffix| + a2.each do |suffix| result.push(prefix + suffix) end end return result end -def is_prime?(a) - (2..Math.sqrt(a)).each { |i| return false if a % i == 0} +def is_prime?(num) + (2..Math.sqrt(num)).each { |i| return false if num % i == 0} true end