用C++语言编写勾股定理求斜边

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C++语言编写勾股定理求斜边相关的知识,希望对你有一定的参考价值。

输入两直角边,输出斜边

参考技术A #include<iostream.h>
#include<math.h>int main()

float zjb1, zjb2;
cout<<"输入两直角边的长度:"<<endl;
cin>>zjb1>>zjb2;
cout<<"直角边长为"<<sqrt(zjb1*zjb1+zjb2*zjb2)<<endl;
return 0;
参考技术B #include<iostream>#include<cmath>using namespace std;int main() int a,b; double c; cout<<"请输入a、b:"<<endl; cin>>a>>b; c=sqrt(a*a+b*b); cout<<"c:"<<c;return 0

C++编程求满足勾股定理的个数

输入一个整数 n (0<n<10000000) 表示直角三角形斜边的长度。
要求输出一个整数,表示满足勾股定理的直角三角形个数。

做这个题用了我一小时的时间,一直在考虑循环次数与计算时间的问题,还好算是有结果了

#include <stdio.h>
#include <math.h>
int main()

double aa,bb,cc,z;
    int a,b,c,cnt=0;
    
    scanf("%d", &c );
    cc=c*1.0*c ;//c的平方,用double精度才够,int会溢出

for( a=1;a<c;a++ )

aa=a*1.0*a; //a的平方
bb=cc-aa; //b方
        b=(int)(sqrt(bb)+0.005) ; //开方得到b, 加上个精度误差进行取整
z=bb-b*1.0*b ;//检查b*b是不是等于bb.  浮点数比较相等要用减法,因为精度问题

if( z<=0.005 && z>=-0.005 ) //在误差范围内,可视作两数相等

c=b;//为了循环次数控制
cnt++;


    printf("%d\\n", cnt );
    return 0;

参考技术A for(i=1;i<=3300;i++)
a[i*i]=1;//记录1到3300所有的完全平方数。

for(i=ceil[n/2];i<=n;i++) //能够形成三角形的变成,挨个找。

if(a[n*n-i*i]==1) //如果n-另外一边的平方是完全平方数就可以构成直角三角形
total++; //初始值为0.

printf("%d",total);
参考技术B 我怎么想也是无数个啊。。。没有其他条件吗?

以上是关于用C++语言编写勾股定理求斜边的主要内容,如果未能解决你的问题,请参考以下文章

用C++编写程序求100以内的所有素数(质素)的和。

求C++编写的自动升级程序C/S结构

求一个用c++编写的时钟程序的源代码

勾股定理中c怎么求

C++语言编写两个函数 gcd 和 lcm

如果没有可用的 c++ 编译器,C 语言可以调用用 c++ 编写的 DLL 吗?