- 相关推荐
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