㈠ 30以内勾股数
30以内勾股数:3,4,5。6,8,10。9,12,15,。12,16,20。15,20,25。18,25,30。
勾股数,又名毕氏三元数。勾股数就是可以构成一个直角三角形三边的一组正整数。勾股定理:直角三角形两条直角边a、b的平方和等于斜边c的平方(a²+b²=c²)。
(1)python判断勾股数扩展阅读:
常用套路
所谓勾股数,一般是指能够构成直角三角形三条边的三个正整数(例如a,b,c)。
即a²+b²=c²,a,b,c∈N
又由于,任何一个勾股数组(a,b,c)内的三个数同时乘以一个整数n得到的新数组(na,nb,nc)仍然是勾股数,所以一般我们想找的是a,b,c互质的勾股数组。
关于这样的数组,比较常用也比较实用的套路有以下两种:
第一类型
当a为大于1的奇数2n+1时,b=2n²+2n, c=2n²+2n+1。
实际上就是把a的平方数拆成两个连续自然数,例如:
n=1时(a,b,c)=(3,4,5)
n=2时(a,b,c)=(5,12,13)
n=3时(a,b,c)=(7,24,25)
㈡ 用python输出while循环求1到100的所以勾股数
# -*- coding: utf-8 -*-
# author: KaiFang
import math
i, j, k = 1, 1, 1
while i < 100:
while j < 100:
while k < 100:
ii = math.pow(i, 2)
jj = math.pow(j, 2)
kk = math.pow(k, 2)
if (ii + jj) == kk:
print('%d %d %d' % (i, j, k))
k += 1
j += 1
k = j
i += 1
j = i
参照下列图片,格式改正确就行,不然运行不了
㈢ 求python代码:输出100以内的勾股数,输出到一个文件中,看看我的要怎么处理,输出后老是有重复
forainrange(100):
forbinrange(a-1):
forcinrange(b-1):
ifa**2=b**2+c**2:
python不熟悉,大概可以这么弄。
㈣ 11的勾股数是多少
11的勾股数是11,60,61。
勾股定理,是一个基本的几何定理,指直角三角形的两条直角边的平方和等于斜边的平方。中国古代称直角三角形为勾股形,并且直角边中较小者为勾,另一长直角边为股,斜边为弦,所以称这个定理为勾股定理,也有人称商高定理。
勾股定理现约有500种证明方法,是数学定理中证明方法最多的定理之一。勾股定理是人类早期发现并证明的重要数学定理之一,用代数思想解决几何问题的最重要的工具之一,也是数形结合的纽带之一。
在中国,周朝时期的商高提出了“勾三股四弦五”的勾股定理的特例。在西方,最早提出并证明此定理的为公元前6世纪古希腊的毕达哥拉斯学派,他们用演绎法证明了直角三角形斜边平方等于两直角边平方之和。
㈤ 用python编写程序输出50以内的勾股数,如图要求每行显示6组,各组勾股数无重复
from__future__importprint_function
n=0
foriinrange(1,50):
forjinrange(i+1,50):
forkinrange(j+1,50):
ifi*i+j*j==k*k:
print("%2d,%2d,%2d"%(i,j,k),end='')
n+=1
ifn==6:
print()
n=0
㈥ 怎样快速判断一组数是否是勾股数
首先看看是不是常用的勾股数如3 4 5,6 8 10,5 12 13等,如果不是就用最大的一个数的平方去减剩余两个数中较大数的平方(用平方差公式),看是否等于最小数的平方.这是我常用的方法.
㈦ C语言,输入三个整数,判断其能否构成勾股数
int IsPyth(int num1,int num2,int num3)//判断三数能否构成勾股数
{
int num1squ,num2squ,num3squ;
if(0!=num1 && 0!=num2 && 0!= num3)//三个数都不能为0,才能构成勾股数
{
num1squ=num1*num1;
num2squ=num2*num2;
num3squ=num3*num3;
if(num1squ=num2squ+num3squ || num2squ=num1squ+num3squ || num3squ=num1squ+num2squ )//任意一个数的平方等于其余两个数的平方和,则便能构成勾股数
return 1;//返回1,说明能构成勾股数
else
return 0;//返回0,说明不能构成勾股数
}
else//当其中任意一个数为0,都不能构成勾股数
return 0;//返回0,说明不能构成勾股数
}
然后在主函数中调用就可以了!
附上完整过程
-------------------------------------------------------------------------------------------------
#include <stdio.h>
void main()
{
int n1,n2,n3;
printf(“请输入三个数:”);
scanf("%d %d %d",&n1,&n2,&n3);
if(IsPyth(n1,n2,n3))//判断函数返回的值,不为0,则能构成勾股数
prinft("%d %d %d这三个数能构成勾股数!",n1,n2,n3);
else
prinft("%d %d %d这三个数不能构成勾股数!",n1,n2,n3);
}
将函数IsPyth()的所有内容放到void main()前面即可!
你试试!
㈧ 勾股数的3条规律总结
凡是可以构成一个直角三角形三边的一组正整数,称之为勾股数。那么勾股数有什么规律吗?下面和我一起了解一下吧,供大家参考。
1、第一组勾股数
3,4,5
5,12,13
7,24,25
9,40,41
11,60,61
13,84,85
15,112,113
首先发现其最小值为奇数,而另外两数是连续正整数。
我们用乘方进行尝试。先给暂时没看出关系的最小值进行乘方。
3²=9,5²=25,7²=49
大家有没有发现,在第一列数据中,每组数的较大两数之和正好等于这组数最小值的平方。即:
3²=9=4+5,5²=25=12+13,7²=49=24+25
我们再试几组进行验证。
9²=81=40+41,11²=121=60+61
目前看来这个规律是正确的。我们再次注意到开始时发现的规律:第一列中每组数较大两数差为一。那么总结这两点就可初步发现以下规律:
一个正奇数(除1外)与两个和等于此正奇数平方的连续正整数是一组勾股数。
设n为一正奇数(n≠1),那么以n为最小值的一组勾股数可以是:n,(n²-1)/2,(n²+1)/2。
2、第二组勾股数
6,8,10
8,15,17
10,24,26
12,35,37
14,48,50
16,63,65
18,80,82
我们如法炮制,首先发现第二组数据均以偶数为最小数,而另外两数是差为2的正整数。似乎也只能看出这么多,那我们继续用最小数乘方对比另外两数之和进行尝试。
6²=36,10+8=18
8²=64,15+17=32
10²=100,24+26=50
这次好像是后两数之和的二倍等于最小数平方?我们进行更多尝试。
12²=144=2(35+37),14²=196=2(48+50)
初步看来规律正确,那我们还是用代数式验证一下普遍性吧:
设m为一正偶数(m≠0,m≠2,m≠4),那么以m为最小值的一组勾股数可以是:
m,(m²/4)-1,(m²/4)+1
验证:[(m²/4)+1]²-[(m²/4)-1]²
=[(m²/4)²+m²/2+1]-[(m²/4)²-m²/2+1]
=(m²/4)²+m²/2+1-(m²/4)²+m²/2-1
=m²
验证成功,可总结为以下规律:
当一个正偶数为最小值时,它(除0,2和4)与两个和之二倍等于此正偶数平方的差为一的正整数是一组勾股数。
设m为一正偶数(m≠0,m≠2,m≠4),那么以m为最小值的一组勾股数可以是:m,(m²/4)-1,(m²/4)+1。
3、特殊的勾股数规律
①12,16,20②18,24,30
首先根据勾股定理可以判断它们都是勾股数。但是仔细观察,我们发现它们每组的三个数都是一组勾股数的正整数倍。
3,4,5分别乘4得12,16,20
6,8,10分别乘3得18,24,30
一组勾股数的正整数倍也是一组勾股数吗?我们还是用代数式验证一下:
任意一组勾股数的正整数倍也是一组勾股数吗?我们还是用代数式验证一下:
设a²+b²=c²,则a,b,c分别乘n后为:
(na)²+(nb)²
=n²a²+n²b²
=n²(a²+b²)
=n²c²
=(nc)²
总结规律为一组勾股数的正整数倍还是一组勾股数。
㈨ 用Python for语句编写程序输出50以内的勾股数
#每个左边的0表示一个空格
lst=[]
for a in range(1,50):
0000for b in range(1,50):
00000000for c in range(1,50):
000000000000if a<=b and a**2+b**2==c**2:
0000000000000000lst.append((a,b,c))
n=0
for a,b,c in lst:
0000s='{0},{1},{2}'.format(a,b,c)
0000print '{0:10}'.format(s),
0000n+=1
0000if 0==n%6:
00000000print
㈩ 怎样确定勾股数
在直角三角形中,若以a、b表示两条直角边,c表示斜边,勾股定理可以表述为a2+b2=c2。
满足这个等式的正整数a、b、c叫做一组勾股数。
例如(3、4、5),(5、12、13),(6、8、10),(7、24、25)等一组一组的数,每一组都能满足a2+b2=c2,因此它们都是勾股数组(其中3、4、5是最简单的一组勾股数)。显然,若直角三角形的边长都为正整数,则这三个数便构成一组勾股数;反之,每一组勾股数都能确定一个边长是正整数的直角三角形。因此,掌握确定勾股数组的方法对研究直角三角形具有重要意义。
1.任取两个正整数m、n,使2mn是一个完全平方数,那么
c=2+9+6=17。
则8、15、17便是一组勾股数。
证明:
∴a、b、c构成一组勾股数
2.任取两个正整数m、n、(m>n),那么
a=m2-n2,b=2mn,c=m2+n2构成一组勾股数。
例如:当m=4,n=3时,
a=42-32=7,b=2×4×3=24,c=42+32=25
则7、24、25便是一组勾股数。
证明:
∵ a2+b2=(m2-n2)+(2mn)2
=m4-2m2n2+n4+4m2n2
=m4+2m2n2+4n2
=(m2+n2)2
=c2
∴a、b、c构成一组勾股数。
3.若勾股数组中的某一个数已经确定,可用如下的方法确定另外两个数。
首先观察已知数是奇数还是偶数。
(1)若是大于1的奇数,把它平方后拆成相邻的两个整数,那么奇数与这两个整数构成一组勾股数。
例如9是勾股数中的一个数,
那么9、40、41便是一组勾股数。
证明:设大于1的奇数为2n+1,那么把它平方后拆成相邻的两个整数为
(2)若是大于2的偶数,把它除以2后再平方,然后把这个平方数分别减1,加1所得到的两个整数和这个偶数构成一组勾股数。
例如8是勾股数组中的一个数。
那么8、15,17便是一组勾股数。
证明:设大于2的偶数2n,那么把这个偶数除以2后再平方,然后把这个平方数分别减1,加1所得的两个整数为n2-1和n2+1
∵(2n)2+(n2-1)2=4n2+n4-2n2+1
=n4+2n2+1
=(n2+1)2
∴2n、n2-1、n2+1构成一组勾股数。