Bilgisayar kullanmazsak: $a,b,c$ Pisagor uclusu oldugundan \[(a,b,c)=(s^2-t^2,2st,s^2+t^2)\] olacak sekilde $s>t$ pozitif tam sayilari vardir. Bu durumda \[1000=a+b+c=2s(s+t) \ \ \ \text{ yani } \ \ \ s(s+t)=500\] bulunur. $s>t$ oldugunu kullanirsak $t\le 15$ ve $s\ge 16$ bulunur. Dolayisiyla $s=20$ ve $t=5$ olmali. Bu durumda \[a\cdot b\cdot c =2st(s^4-t^4)=31875000\] olur. Bilgisayar da kullanirsak:
print("Istenen sayi 31875000.")
Mathematica ile cozum:
Times @@ First@ Values@Solve[{a^2 + b^2 == c^2, a + b + c == 1000}, {a, b, c}, PositiveIntegers] 31875000
Veya
Times @@@ Values@FindInstance[{a^2 + b^2 == c^2, a + b + c == 1000}, {a, b, c}, PositiveIntegers] {31875000}
Hocam @ operatoru ne ise yariyor ?
@
Python ile çözümü şöyledir:
n = int(input("Üçgenin çevresi olan tam sayıyı giriniz:\n")) for a in range(1,n//2): for b in range(1,a): c = n - (a+b) if c**2 == a**2 + b**2: print("Pisagor üçlüsü {},{},{} sayılarıdır.".format(a,b,c)) print("İstenen çarpım {} olur.".format(a*b*c))
Kodu çalıştıdığınızda $n$ için bir sayısı girmeniz istenecek. Üçgenin çevresini belirten bu değere $1000$ yazdığınızda çıktımız şöyle görünür:
Pisagor üçlüsü $375, 200, 425$ sayılarıdır.
İstenen çarpım $31875000$ olur.
Not: $n=1000$ için bu kodun çalışma süresi ortalama 3.4 sn'dir.