知恵袋で見つけた平方根の応用問題をPythonで解いてみた。

 知恵袋で見つけた平方根の応用問題Pythonで解いてみました。(^_^;

2けたの自然数aと3けたの自然数bについて、a:b=3:4であり、√(a+b) の値が自然数となるとき、a,bの値を求めなさい。

 ちなみに、数学的に解いてみると次の通りです。(^_^;
 \frac{a}{3}=\frac{b}{4}=kとおくと、
 a=3k・・・①, b=4k・・・②
 aは2桁の自然数だから、 9< 10≦a=3k≦ 99< 100 ∴ 3<k≦ 33・・・③
 bは3桁の自然数だから、99<100≦b=4k≦999<1000 ∴25≦k<250・・・④
 ③④より
 25≦k≦33・・・⑤
 また、①②より
 \sqrt{a+b}=\sqrt{3k+4k}=\sqrt{7k}
 よって、\sqrt{a+b}の値が自然数となるためには、nを自然数として、
 k=7n^2・・・⑥
でなければならない。これを⑤に代入して
 3+\frac{4}{7}\leq n^2 \leq 4+\frac{5}{7}
∴n=2∴k=7*4=28・・・⑦
 よって、求めるa,bの値は、⑦を①②に代入して、
 a=3*28=84, b=4*28=112

● AppliOfSqrt1.py

# coding: UTF-8
# AppliOfSqrt1.py

from math import sqrt

def main():
    for a in range(10,100):
        for b in range(100,1000):
            if 3*b!=4*a: continue
            x = sqrt(a+b)
            if x!=int(x): continue
            print("(a,b)=( %d , %d )"%(a,b))

if __name__ == '__main__':
    main()

●実行結果

(a,b)=( 84 , 112 )

※参考URL
LaTeX入門 - 数式コマンドリファレンス