如何编写程序判断三个数符合购股定理

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:58:51
如3^2+4^2=5^2 此为一组数 求60以内的满足条件的数的个数。3,4,5 和4,3,5 为同一组数

#include <iostream>

int main()
{
int count=0;
for (int i=1; i<60; ++i)
for (int j=1; j<60; ++j)
for (int k=1; k<60; ++k)
{
if ((i*i+j*j==k*k )||(i*i+k*k==j*j )||(k*k+j*j==i*i ))
count++;
if (i==j && j==k )
count--;
}
std::cout<<count<<std::endl;
return 0;
}

#include <iostream>

void main()
{
int count=0;

for (int i=1; i<60; ++i)
for (int j=1; j<60; ++j)
for (int k=1; k<60; ++k)
{
if (i+k>j && j+k>i && i+j>k)
{
if ((i*i+j*j==k*k )||(i*i+k*k==j*j )||(k*k+j*j==i*i ))
{
count++;
}
}
}
count=count/3;
std::cout<<count<<std::endl;

}

是这样的。把所有的直角三角形都加一起会多加两次,就是一个三角形会被记录三次,我们除3就可以算出正确的了