aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-04-13 11:41:04 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-04-13 11:41:04 +0100
commitaad6c403c706dc507f36e573894874ffb0301503 (patch)
tree82431b24893aa1ac7c1e823c748d8979acfb3f33
parent746d96484d9f708590c7bb5cdd522515a351e57c (diff)
downloadperlweeklychallenge-club-aad6c403c706dc507f36e573894874ffb0301503.tar.gz
perlweeklychallenge-club-aad6c403c706dc507f36e573894874ffb0301503.tar.bz2
perlweeklychallenge-club-aad6c403c706dc507f36e573894874ffb0301503.zip
- Added guest contributions by Robert DiCicco.
-rw-r--r--challenge-160/robert-dicicco/julia/ch-1.jl50
-rw-r--r--challenge-160/robert-dicicco/julia/ch-2.jl59
-rw-r--r--challenge-160/robert-dicicco/ruby/ch-1.rb18
-rw-r--r--challenge-160/robert-dicicco/ruby/ch-2.rb54
4 files changed, 181 insertions, 0 deletions
diff --git a/challenge-160/robert-dicicco/julia/ch-1.jl b/challenge-160/robert-dicicco/julia/ch-1.jl
new file mode 100644
index 0000000000..3764c453c8
--- /dev/null
+++ b/challenge-160/robert-dicicco/julia/ch-1.jl
@@ -0,0 +1,50 @@
+#!julia.exe
+
+# AUTHOR
+# Robert DiCicco
+# DATE: 12-APR-2022
+# Challenge 160 Four Is Magic ( Julia )
+
+num_name = Dict( 1 => "One",
+ 2 => "Two",
+ 3 => "Three",
+ 4 => "Four",
+ 5 => "Five",
+ 6 => "Six",
+ 7 => "Seven",
+ 8 => "Eight",
+ 9 => "Nine",
+ )
+
+function checkArgs(args)
+ global num
+
+ try
+ num = parse(Int64, args[1])
+ catch
+ println("Error: Argument must be an integer")
+ exit(0)
+ finally
+ if num <= 0 || num > 9
+ println("Error: Argument must be 1 <= n <= 9")
+ exit(0)
+ else
+ main(num)
+ end
+ end
+end
+
+function main(n)
+ println("Input: \$n = $n")
+ while n != 4
+ n_name = get(num_name,n,1)
+ len = length(n_name)
+ l_name = get(num_name,len,1)
+ print("$n_name is $l_name, ")
+ n = len
+ end
+
+ println("Four is magic.")
+end
+
+checkArgs(ARGS)
diff --git a/challenge-160/robert-dicicco/julia/ch-2.jl b/challenge-160/robert-dicicco/julia/ch-2.jl
new file mode 100644
index 0000000000..017a63bbc4
--- /dev/null
+++ b/challenge-160/robert-dicicco/julia/ch-2.jl
@@ -0,0 +1,59 @@
+#!julia.exe
+
+# AUTHOR: Robert DiCicco
+# DATE: 12-AP:R-2022
+# Challenge 160 Equilibrium Index ( Julia )
+
+function leftsum(a, i )
+ sum = 0
+
+ while i > 0
+ sum += a[i]
+ i = i - 1
+ end
+
+ return sum
+end
+
+function rightsum(a, i)
+ sum = 0
+
+ while i <= length(a)
+ sum += a[i]
+ i = i + 1
+ end
+
+ return sum
+end
+
+function balance(a)
+ flag = 0
+ len = length(a)
+
+ for i in 2:len-1
+ leftval = leftsum(a, i)
+ rightval = rightsum(a, i)
+
+ if (leftval == rightval)
+ i -= 1 # compare sums, subtract 1 to compensate for julia array numbering that starts at 1....
+ println("Output: $i\n")
+ flag = flag + 1 # increment flag if equal
+ break
+ end
+ end
+
+ if ( flag == 0 )
+ println("Output: -1 as no Equilibrium Index found.\n")
+ return
+ end
+end
+
+function main(a)
+ println("Input: @n = $a")
+ balance(a)
+end
+
+arr = [[1,3,5,7,9], [1,2,3,4,5], [2,4,2] ]
+
+x = collect(arr)
+foreach(main,x)
diff --git a/challenge-160/robert-dicicco/ruby/ch-1.rb b/challenge-160/robert-dicicco/ruby/ch-1.rb
new file mode 100644
index 0000000000..b5399e934d
--- /dev/null
+++ b/challenge-160/robert-dicicco/ruby/ch-1.rb
@@ -0,0 +1,18 @@
+#!ruby.exe
+
+# AUTHOR: Robert DiCicco
+# DATE: 11-APR-2022
+# Challenge 160 Four Is Magic ( Ruby )
+
+require 'humanize'
+
+n = ARGV[0].to_i
+puts "Input \$n = #{n}"
+
+while n != 4 do
+ n_len = n.humanize.length
+ print "#{n.humanize.capitalize} is #{n_len.humanize.capitalize}, ";
+ n = n_len
+end
+
+puts "Four is magic."
diff --git a/challenge-160/robert-dicicco/ruby/ch-2.rb b/challenge-160/robert-dicicco/ruby/ch-2.rb
new file mode 100644
index 0000000000..dd84de1c87
--- /dev/null
+++ b/challenge-160/robert-dicicco/ruby/ch-2.rb
@@ -0,0 +1,54 @@
+#!ruby.exe
+
+# AUTHOR: Robert DiCicco
+# DATE: 12=APR-2022
+# Challenge 160 Equilibrium Index ( Ruby )
+
+def leftsum ( a, i)
+ sum = 0
+
+ while ( i >= 0 )
+ sum += a[i]
+ i = i - 1
+ end
+
+ return sum
+end
+
+def rightsum ( a, i)
+ sum = 0
+
+ while ( i < a.length )
+ sum += a[i]
+ i = i + 1
+ end
+
+ return sum
+end
+
+def balance ( a )
+ flag = 0
+ len = a.length
+
+ for i in 1..len-2 do
+ leftval = leftsum(a, i )
+ rightval = rightsum(a, i )
+ if (leftval == rightval) # compare sums
+ print "Output: #{i}\n\n"
+ flag = flag + 1 # increment flag if equal
+ break
+ end
+ end
+
+ if ( flag == 0 )
+ print "Output: -1 as no Equilibrium Index found.\n\n"
+ return
+ end
+end
+
+arr = [ [1,3,5,7,9], [1,2,3,4,5], [2,4,2] ]
+
+arr.each do |subarr|
+ print "Input: \@n = #{subarr}\n"
+ balance(subarr)
+end