c++打卡第三十四天
一、勾股数
1、问题描述
2、设计思路
由题可知,数学中并不存在两条直角边相等的勾股数,同时两个直角边的平方和并不一定是整形,可能会存在小数,这样我们的判断勾股数的方法就是,两个直角边的平方和开根号,对此值强制转化为整形,得到的结果进行平方看是否与两直角边的平方和相等,同时以边的从小到大的顺序输出。
3、流程图
4、代码实现
#include<cmath> #include<iostream> using namespace std; int main() { int a,b,c; for(a=1;a<100;a++) { for(b=a+1;b<100;b++) { c=int(sqrt(a*a+b*b)); if(c*c==(a*a+b*b)&&c<100) { cout<<"勾股数为:"<<a<<" "<<b<<" "<<c<<endl; } } } return 0; }
5、结果实现