46.jl 667 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. function isprime(n)
  2. for i = 2:int(sqrt(n) + 1)
  3. if n % i == 0
  4. return false
  5. end
  6. end
  7. return true
  8. end
  9. function isodd(n)
  10. return n % 2 == 1
  11. end
  12. function goldbach(prime, square)
  13. return prime + 2 * square
  14. end
  15. function istwicesquare(n)
  16. square = sqrt(n/2)
  17. return square == int(square)
  18. end
  19. primelist = filter(isprime, [1:10000])
  20. result = 1
  21. found = false
  22. while !found
  23. result += 2
  24. j = 1
  25. found = true
  26. while j <= length(primelist) && result >= primelist[j]
  27. if istwicesquare(result - primelist[j])
  28. found = false
  29. break
  30. end
  31. j += 1
  32. end
  33. end
  34. println(result)