|
发表于 2016-8-31 16:12:55
|
显示全部楼层
5,5,6 S=12
8,8,9 S=24
65,65,66 S=1848
98,98,99 S=4116
901,901,902 S=351780
1352,1352,1353 S=790920
12545,12545,12546 S=68149872
18818,18818,18819 S=153329064
- //海伦公式求面积 面积是整数返回边长 不是返回0
- /*
- 假设三边长为a,b,c
- p=(a+b+c)/2
- 则面积的平方s^2=p*(p-a)*(p-b)*(p-c)
- 例子:a=3,b=4,c=5
- */
- #include <iostream>
- int getSum(int a,int b,int c)
- {
- double p=(a+b+c)/2;
- double s= sqrt(p*(p-a)*(p-b)*(p-c));
- //判断是否为整数s
- if((double)(int)s == s)
- {
- return s;
- }
- return 0;
- }
- int main()
- {
- for (int k = 2;k<=433333333;k++)
- {
- int a,b,c,s;
- a=k;
- b=k;
- c=k+1;
- s=getSum(a,b,c);
- if(s)
- {
- std::cout<<a<<","<<b<<","<<c<<" S="<<s<<std::endl;
- }
- }
- return 0;
- }
复制代码 |
|