From 7039ae8b8d63ca1ff2e45708ef7abda1bf8f5777 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 29 Mar 2022 22:42:52 +0100 Subject: - Added guest contributions by Robert DiCicco. --- challenge-158/robert-dicicco/julia/ch-1.jl | 41 +++++++++++++++++++++++++++ challenge-158/robert-dicicco/julia/ch-2.jl | 45 ++++++++++++++++++++++++++++++ challenge-158/robert-dicicco/ruby/ch-1.rb | 32 +++++++++++++++++++++ challenge-158/robert-dicicco/ruby/ch-2.rb | 36 ++++++++++++++++++++++++ 4 files changed, 154 insertions(+) create mode 100644 challenge-158/robert-dicicco/julia/ch-1.jl create mode 100644 challenge-158/robert-dicicco/julia/ch-2.jl create mode 100644 challenge-158/robert-dicicco/ruby/ch-1.rb create mode 100644 challenge-158/robert-dicicco/ruby/ch-2.rb diff --git a/challenge-158/robert-dicicco/julia/ch-1.jl b/challenge-158/robert-dicicco/julia/ch-1.jl new file mode 100644 index 0000000000..545764a767 --- /dev/null +++ b/challenge-158/robert-dicicco/julia/ch-1.jl @@ -0,0 +1,41 @@ +#!julia.exe + +using Printf +using Primes + +# AUTHOR: Robert DiCicco +# DATE: 29-MAR-2022 +# Challenge 158 Additive Primes ( Julia ) + +function sumOfDigits(i) + + d = digits(i) # break into digits + s = sum(d) # sum them + + if isprime(s) # return number if sum is prime + return i + else + return -1 # else return neg number + end + +end + +function main() + + TARGET = 100 + i = 1 + + while i < TARGET + dsum = sumOfDigits(i) + + if isprime(dsum) # print it if prime + @printf("%d ",i) + end + + i += 1 + end + + print("\n") +end + +main() diff --git a/challenge-158/robert-dicicco/julia/ch-2.jl b/challenge-158/robert-dicicco/julia/ch-2.jl new file mode 100644 index 0000000000..29698b7911 --- /dev/null +++ b/challenge-158/robert-dicicco/julia/ch-2.jl @@ -0,0 +1,45 @@ +#!julia.exe + +using Printf +using Primes + +# AUTHOR: Robert DiCicco +# DATE: 29-MAR-2022 +# Challenge 158 Cuban Primes ( Julia ) + + function makeCuban( num ) + + cuban = ((3 * (num^2)) + (3 * num) + 1) + + if (isprime(cuban)) + return(cuban) + end + + return(-1) + end + +function main() + + TARGET = 1000 + i = 1 + + while true + retval = makeCuban(i) + + if retval > TARGET + break + end + + if retval > 0 + @printf("%d ",retval) + end + + i += 1 + end + + print("\n") +end + + + +main() diff --git a/challenge-158/robert-dicicco/ruby/ch-1.rb b/challenge-158/robert-dicicco/ruby/ch-1.rb new file mode 100644 index 0000000000..b18521f56b --- /dev/null +++ b/challenge-158/robert-dicicco/ruby/ch-1.rb @@ -0,0 +1,32 @@ +#!ruby.exe + +# AUTHOR: Robert DiCicco +# DATE: 29-MAR-2022 +# Challenge 158 Additive Primes ( Ruby ) + +require 'prime' + +def sumOfDigits (num) + digsum = num.digits.sum + + if digsum.prime? + return num + end + + return -1 +end + +TARGET = 100 +i = 1 + +while i < TARGET + dsum = sumOfDigits(i) + + if dsum > 0 && i.prime? + print "#{i} " + end + + i = i+1 +end + +puts " " diff --git a/challenge-158/robert-dicicco/ruby/ch-2.rb b/challenge-158/robert-dicicco/ruby/ch-2.rb new file mode 100644 index 0000000000..f2d05cb3b6 --- /dev/null +++ b/challenge-158/robert-dicicco/ruby/ch-2.rb @@ -0,0 +1,36 @@ +#!ruby.exe + +# AUTHOR: Robert DiCicco +# DATE: 29-MAR-2022 +# Challenge 158 Cuban Primes ( Ruby ) + +require 'prime' + +TARGET = 1000 +i = 1 + +def makeCuban( num ) + cuban = ((3 * (num**2)) + (3 * num) + 1) + + if cuban.prime? + return cuban + else + return -1 + end +end + +while true + retval = makeCuban( i ) + + if retval > TARGET + break + end + + if retval.prime? + print "#{retval} " + end + + i = i+1 +end + +puts " " -- cgit