2015年9月19日土曜日

150919

Ruby


二重根号が外れてきれいになる式

√(( 5+2√3)( 4+√13)) - √(( 4+ √3)( 5+√13)) = 1
√(( 7+3√3)( 5+√22)) - √(( 5+ √3)( 7+√22)) = 2
√((23+8√8)( 7+√17)) - √(( 7+2√8)(23+√17)) = 4
√((13+9√2)( 5+√ 7)) - √(( 5+3√2)(13+√ 7)) = 2
√((16+9√3)(11+√13)) - √((11+6√3)(16+√13)) = 1
を以下のコードで見つけ、
http://www.artofproblemsolving.com/community/c4h1142129_curious_equation
で証明した方法で全て(手計算で)確認した。

def square_number?(n)
  (Math.sqrt(n).to_i) ** 2 == n
end

M = 10
N = 30
(1..M).each{|f2|
  (f2 + 1..M).each{|d|
    (2..M).each{|x|
      if !square_number?(x)
        (x + 1..N).each{|y|
          if x.gcd(y) == 1 && !square_number?(y)
            (1..N).each{|e2|
              (e2 + 1..N).each{|c|
                m0 = Math.sqrt(c + d * Math.sqrt(x)) * Math.sqrt(e2 + Math.sqrt(y))
                m1 = Math.sqrt(e2 + f2 * Math.sqrt(x)) * Math.sqrt(c + Math.sqrt(y))
                z = m0 - m1
                p [[c, d, e2, f2, x, y], z.to_i] if (z - z.to_i).abs < 0.0000001 && z > 0
              }
            }
          end
        }
      end
    }
  }
}

出力結果
[[5, 2, 4, 1, 3, 13], 1]
[[7, 3, 5, 1, 3, 22], 2]
[[23, 8, 7, 2, 8, 17], 4]
[[13, 9, 5, 3, 2, 7], 2]
[[16, 9, 11, 6, 3, 13], 1]

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。