作业帮 > 综合 > 作业

用C++求130C的倒勾股数有多少组

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 19:57:06
用C++求130C的倒勾股数有多少组
//A,B,C是三个小于或等于100正整数,当满足1/A^2+1/B^2=1/C^2关系时,称为
//倒勾股数.求130C的倒勾股数有多少组
#include
using namespace std;
int main()
{
int a,b,c,k=0;
for(a=1;a
用C++求130C的倒勾股数有多少组
我看到两点,需要改变一下
一个是1/(a*a)+1/(b*b)==1/(c*c)这个公式
在c中,abc和1都是int型,那么得到的结果也是int型,所以只要abc不是1,那么得到的结果都是0
所以你会打印的k很多,
再说了,在c中1/(a*a)+1/(b*b)==1/(c*c)这个式子及时变一下1.0/(a*a)+1.0/(b*b)==1.0/(c*c)结果变成float型,但是在计算机的小数比较上,还是误差很大,所以这个式子需要变一下,让他成为都是整数的比较,统分
都同时乘以a*a*b*b*c*c得到的结果是b*b*c*c+a*a*c*c==a*a*b*b,因为abc都不可能为零,所以这个式子可以用
第二个地方就是bc的变换界限,因为A>B>C,你要是想让abc这三个变量对应ABC的话,那么我建议这么写
for(c=1;c
再问: #include using namespace std; int main() { float a,b,c,k=1; for(c=1;a