- 相關(guān)推薦
C++勾股數(shù)公式講解
C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。以下是小編為大家搜索整理的C++勾股數(shù)公式講解, 希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
Roowe很喜歡研究數(shù)學(xué),現(xiàn)在他就遇到一個(gè)有趣的問題,比如,直角三角形的周長(zhǎng)是120的話,那么它的三條邊可以是20,48,52,或者24,45,51,還有30,40, 50,有三種不同的解,現(xiàn)在他想知道一個(gè)區(qū)間[a,b]中哪個(gè)數(shù)的解數(shù)最多(1<= a, b <= 1000000)?
輸入
10 100
1000 100000
1 1000000
300000 700000
100000 300000
100000 700000
800000 900000
104 720720
80 360360
1 1000000
輸出
60 2
55440 40
720720 104
360360 80
240240 64
360360 80
831600 78
720720 104
360360 80
720720 104
直角三角形三條邊a, b, c,其中a,b是直角邊。
則 a=2*m*n
b=m^2-n^2
c=m^2+n^2
當(dāng)然,這是有前提條件的,也就是其局限性:“勾股數(shù)的公式還是有局限的。勾股數(shù)公式可以得到所有的基本勾股數(shù),但是不可能得到所有的派生勾股數(shù)。比如6,8,10;9,12,15…,就不能全部有公式計(jì)算出來(lái)”
也就是說,3,4,5可以求出來(lái),但是其倍數(shù)6,8,10就不行了。
這里要注意幾個(gè)問題構(gòu)成三角形的條件
2*m*n+m^2-n^2 > m^2+n^2
既m>n
2.a, b, c互質(zhì),即無(wú)法得到派生的勾股數(shù)。
【C++勾股數(shù)公式講解】相關(guān)文章:
C++ this指針詳解07-04
C++類的轉(zhuǎn)換10-17
java講解06-23
Java與C/C++的區(qū)別06-18
C++函數(shù)模板09-14
如何運(yùn)行C++程序08-28
C++的類型轉(zhuǎn)換介紹11-08
C/C++內(nèi)存管理09-20
c++快速排序詳解10-18