function isPrime(x) if x < 2 || x % 2 == 0 return x == 2 end i = 3 while i * i <= x if x % i == 0 return false end i += 1 end return true end primes = [2] for i = 3:10000 if isPrime(i) primes = [primes..., i] end end squares = [0] for i = 1:1000 squares = [squares..., i * i] end x = 7 while true gotans = false for p in primes done = false if p > x println(x) gotans = true break end for s in squares if x == p + 2*s done = true break end if p + 2*s > x break end end if done break end end if gotans break end x += 2 end
Tuesday, September 24, 2013
Problem 46 - Julia
I haven't solved a problem in a esoteric language too recently - rest assured, I am sure I will move back to esolangs soon, INTERCAL beckons. For now, however, there are still some entirely reasonable languages left for me to take advantage of. Most recently, I have used Julia - a language apparently designed like MATLAB and R with mathematical computation in mind, and like so many other languages I have used recently (especially with the stark contrast from things like Whitespace not too long ago), it was a very easy language to pick up and use for something not too bad like this. This problem involved Goldbach's "other" conjecture which conjectured that every odd composite was the sum of a prime and two times a square; this program disproves that conjecture in a handful of seconds.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment