- 相關推薦
C++勾股數公式講解
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。以下是小編為大家搜索整理的C++勾股數公式講解, 希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
Roowe很喜歡研究數學,現在他就遇到一個有趣的問題,比如,直角三角形的周長是120的話,那么它的三條邊可以是20,48,52,或者24,45,51,還有30,40, 50,有三種不同的解,現在他想知道一個區間[a,b]中哪個數的解數最多(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
當然,這是有前提條件的,也就是其局限性:“勾股數的公式還是有局限的。勾股數公式可以得到所有的基本勾股數,但是不可能得到所有的派生勾股數。比如6,8,10;9,12,15…,就不能全部有公式計算出來”
也就是說,3,4,5可以求出來,但是其倍數6,8,10就不行了。
這里要注意幾個問題構成三角形的條件
2*m*n+m^2-n^2 > m^2+n^2
既m>n
2.a, b, c互質,即無法得到派生的勾股數。
【C++勾股數公式講解】相關文章:
C++類的轉換10-17
C/C++內存管理09-20
c++快速排序詳解10-18
Java與C/C++的區別06-18
C++如何調用matlab函數06-29
C語言和C++的分別06-18
C++調用C函數的方法05-21
PHPsocket函數講解08-28
關于c++語言中的循環語言08-16
紅對勾小學數學暑假作業參考09-28