diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-04-13 11:41:04 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-04-13 11:41:04 +0100 |
| commit | aad6c403c706dc507f36e573894874ffb0301503 (patch) | |
| tree | 82431b24893aa1ac7c1e823c748d8979acfb3f33 | |
| parent | 746d96484d9f708590c7bb5cdd522515a351e57c (diff) | |
| download | perlweeklychallenge-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.jl | 50 | ||||
| -rw-r--r-- | challenge-160/robert-dicicco/julia/ch-2.jl | 59 | ||||
| -rw-r--r-- | challenge-160/robert-dicicco/ruby/ch-1.rb | 18 | ||||
| -rw-r--r-- | challenge-160/robert-dicicco/ruby/ch-2.rb | 54 |
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 |
