068 Magic 5-gon ring.sf 642 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/ruby
  2. # Author: Trizen
  3. # Date: 21 March 2023
  4. # https://github.com/trizen
  5. # https://projecteuler.net/problem=68
  6. # Runtime: 28.882s
  7. var max = ''
  8. @(1..10).permutations {|*d|
  9. if ((d[0] < d[3]) && (d[0] < d[5]) && (d[0] < d[7]) && (d[0] < d[9])) {
  10. var i = sum(d[0,1,2])
  11. if ((i == sum(d[3,2,4])) && (i == sum(d[5,4,6])) && (i == sum(d[7,6,8])) && (i == sum(d[9,8,1]))) {
  12. var str = join('', d[0,1,2,3,2,4,5,4,6,7,6,8,9,8,1])
  13. if ((str > max) && (str.len == 16)) {
  14. say "Found: #{str}"
  15. max = str
  16. }
  17. }
  18. }
  19. }
  20. say "Final solution: #{max}"