请问有人知道怎样求2000内的勾股数吗?要编程的
发布网友
发布时间:2022-04-26 17:09
我来回答
共4个回答
热心网友
时间:2023-10-16 07:08
你要哪种语言的?
先介绍一个C++版的
#include
<fstream>
#include
<iostream>
using
namespace
std;
#include
<cmath>
ofstream
fout
("勾股定理.txt");
int
main
(void)
{
fout<<"下面是1000以内满足勾股定理的所有的数:"<<endl;
cout<<"下面是1000以内满足勾股定理的所有的数:"<<endl;
int
a,b,c;
for
(a=1;a<=1000;a++)
for
(b=a;b<=1000;b++)
{
c=(int)sqrt(a*a+b*b);
if
(sqrt(a*a+b*b)==c&&c<=1000)
{
fout<<a<<'
'<<b<<'
'<<c<<endl;
cout<<a<<'
'<<b<<'
'<<c<<endl;
}
}
fout<<"end"<<endl;
cout<<"end"<<endl;
return
0;
}
这个程序会将结果输出到屏幕和文件"勾股定理.txt"中。
打开"勾股定理.txt"即可看到结果了。
这种算法我运行了一下,时间不超过3秒。
还有一个C语言版的(没有文件输出):
#include
<stdio.h>
#include
<math.h>
int
main
()
{
printf
("下面是1000以内满足勾股定理的所有的数:\n");
int
a,b,c;
for
(a=1;a<=1000;a++)
for
(b=a;b<=1000;b++)
{
c=(int)sqrt(a*a+b*b);
if
(sqrt(a*a+b*b)==c&&c<=1000)
printf("%d
%d
%d\n",a,b,c);
}
scanf
("%d",&a);
return
0;
}
热心网友
时间:2023-10-16 07:08
你要哪种语言的?
先介绍一个C++版的
#include <fstream>
#include <iostream>
using namespace std;
#include <cmath>
ofstream fout ("勾股定理.txt");
int main (void)
{
fout<<"下面是1000以内满足勾股定理的所有的数:"<<endl;
cout<<"下面是1000以内满足勾股定理的所有的数:"<<endl;
int a,b,c;
for (a=1;a<=1000;a++)
for (b=a;b<=1000;b++)
{
c=(int)sqrt(a*a+b*b);
if (sqrt(a*a+b*b)==c&&c<=1000)
{
fout<<a<<' '<<b<<' '<<c<<endl;
cout<<a<<' '<<b<<' '<<c<<endl;
}
}
fout<<"end"<<endl;
cout<<"end"<<endl;
return 0;
}
这个程序会将结果输出到屏幕和文件"勾股定理.txt"中。
打开"勾股定理.txt"即可看到结果了。
这种算法我运行了一下,时间不超过3秒。
还有一个C语言版的(没有文件输出):
#include <stdio.h>
#include <math.h>
int main ()
{
printf ("下面是1000以内满足勾股定理的所有的数:\n");
int a,b,c;
for (a=1;a<=1000;a++)
for (b=a;b<=1000;b++)
{
c=(int)sqrt(a*a+b*b);
if (sqrt(a*a+b*b)==c&&c<=1000)
printf("%d %d %d\n",a,b,c);
}
scanf ("%d",&a);
return 0;
}
热心网友
时间:2023-10-16 07:08
勾股数 指的是勾股定律吗?像:3 4 5
热心网友
时间:2023-10-16 07:09
不懂。。。有点复杂