سهتایی فیثاغورثی
یک سه تایی فیثاغورثی شامل سه عدد صحیح مثبت
این نام (سه تایی فیثاغورسی) نشأت گرفته از قضیه فیثاغورس است که بیان می دارد، طول اضلاع هر مثلث قائم الزاویه ای در فرمول
سه تایی های فیثاغورسی از زمان های باستان شناخته شده بودند. قدیمی ترین سند ثبت شده آن مربوط به پلیمپتون ۳۲۲ است، که یک لوح بابلی از زمان ۱۸۰۰ قبل از میلاد است که در دستگاه اعداد شصت تایی نوشته شده است. این لوح توسط ادگار جیمز بنکس، کمی بعد از ۱۹۰۰ میلادی کشف شد و به جورج آرتور پلیمپتون در ۱۹۲۲ به قیمت ۱۰ دلار فروخته شده.
زمانی که به دنبال جواب های صحیح معادله
فهرست اعداد
۱۶ سه تایی فیثاغورثی اولیه (یعنی سه تایی هایی که نسبت به هم متباین باشند) کوچکتر از ۱۰۰ وجود دارند:
(3, 4, 5) | (5, 12, 13) | (8, 15, 17) | (7, 24, 25) |
(20, 21, 29) | (12, 35, 37) | (9, 40, 41) | (28, 45, 53) |
(11, 60, 61) | (16, 63, 65) | (33, 56, 65) | (48, 55, 73) |
(13, 84, 85) | (36, 77, 85) | (39, 80, 89) | (65, 72, 97) |
روش به دست آوردن
محاسبه ذهنی
به دست آوردن نمونهای از اعداد فیثاغورسیِ کوچک به صورت ذهنی میتواند بسیار آسان باشد؛ بهگونهای که تمام مضارب اعداد ۳٬۴٬۵ جزء اعداد فیثاغورسیاند. به عنوان نمونه
میتوان از تساوی های جبری نیز برای بدست آوردن اعداد فیثاغورس استفاده کرد. برای مثال برای n که عددی طبیعی و بزرگتر از یک است داریم تمام اعداد به شکل
همچنین اگر x و y دو عدد نسبت به هم اول باشند و x بزرگتر از y باشد اعداد
در برنامهنویسی رایانهای
برای به دست آوردن اعداد فیثاغورسی میتوان از کدی شبیه به کد زیر استفاده کرد:
for(int i=1;i<max;i++)
for(int j=i;j<max;j++)
for(int k=j;k<max;k++)
if(((i*i) + (j*j)) == (k*k) )
cout<<i*i<<" + "<<j*j<<" = "<<k*k;
که البته کدی بهینه نشدهاست و در صورتی که محدودیت max عددی بزرگ باشد بسیار کند خواهد بود.
در صورت استفاده از کدهای بهینه شده، نتیجهٔ برنامه بسیار سریعتر خواهد بود و برای محدودیت کوچکتر از ۱۰ در کسری از ثانیه به جواب خواهد رسید. محدودیتهای دیگری که برای این کد میتوان در نظر گرفت این است که مجموع اعدادی که به توان میرسند برابر با محدودیت کلی باشد. برای مثال تنها سه عدد فیثاغورثی ۲۰۰، ۳۷۵ و ۴۲۵ وجود دارند که مجموع آنها دقیقاً ۱۰۰۰ است.
نمونهای از کد به زبان سیپلاسپلاس که به صورت بهینه ( و نه کاملاً بهینه) با استفاده از بزرگترین مقسومعلیه مشترک چنین اعدادی را مییابد:
// تابع findPythTriplet
vector<long long int> findPythTriplet(long long int until)
{
long long int s=until,s2=s/2,m,sm,k,d,n,a,b,c;
long long int mLimit=(long long int)sqrt((double)s2);
vector<long long int> results;
for(m=2;m<=mLimit;m++)
{
if(s2%m==0)
{
sm=s2/m;
while(sm%2==0)
{
sm = sm/2;
}
if(m%2==1)
{
k=m+2;
}
else
{
k=m+1;
}
while (k<(2*m) && k<=sm)
{
if(sm%k==0 && gcd(k,m)==1)
{
d=s2/(k*m);
n=k-m;
a=d*(m*m-n*n);
b=2*d*m*n;
c=d*(m*m+n*n);
results.push_back(a);
results.push_back(b);
results.push_back(c);
}
k+=2;
}
}
}
return results;
}
جستارهای وابسته
پانویس
- ↑ (Long 1972، ص. 48)
- ↑ Robson, Eleanor (2002), "Words and Pictures: New Light on Plimpton 322" (PDF), Mathematical Association of America Monthly, 109: 105–120
منابع
- Alperin, Roger C. (2005), "The modular tree of Pythagoras" (PDF), American Mathematical Monthly, 112 (9): 807–816, CiteSeerX 10.1.1.112.3085, doi:10.2307/30037602, JSTOR 30037602, MR 2179860
- Berggren, B. (1934), "Pytagoreiska trianglar", Tidskrift för Elementär Matematik, Fysik och Kemi (به سوئدی), 17: 129–139
- Barning, F.J.M. (1963), "Over pythagorese en bijna-pythagorese driehoeken en een generatieproces met behulp van unimodulaire matrices" (PDF), Math. Centrum Amsterdam Afd. Zuivere Wisk. (به هلندی), ZW-011: 37
- Eckert, Ernest (1992), "Primitive Pythagorean triples", The College Mathematics Journal, 23 (5): 413–417, doi:10.2307/2686417, JSTOR 2686417
- Elkies, Noam, Pythagorean triples and Hilbert's theorem 90 (PDF)
- Heath, Thomas (1956), The Thirteen Books of Euclid's Elements Vol. 1 (Books I and II) (2nd ed.), Dover Publications, ISBN 978-0-486-60088-8
- Long, Calvin T. (1972), Elementary Introduction to Number Theory (2nd ed.), Lexington: D. C. Heath and Company, LCCN 77171950
- Martin, Artemas (1875), "Rational right angled triangles nearly isosceles", The Analyst, 3 (2): 47–50, doi:10.2307/2635906, JSTOR 2635906
- McCullough, Darryl (2005), "Height and excess of Pythagorean triples" (PDF), Mathematics Magazine, 78 (1)
- Romik, Dan (2008), "The dynamics of Pythagorean triples" (PDF), Trans. Amer. Math. Soc., 360 (11): 6045–6064, arXiv:math.DS/0406512, doi:10.1090/S0002-9947-08-04467-X, MR 2425702
- Teigen, M.G.; Hadwin, D.W. (1971), "On Generating Pythagorean Triples", The American Mathematical Monthly, 78 (4): 378–379, doi:10.2307/2316903, JSTOR 2316903
- Trautman, Andrzej (1998), "Pythagorean spinors and Penrose twistors" (Postscript), Geometric universe