求三边之和不超过n的直角三角形个数。 提示:a、b、c是直角三角形三条边的长度,a、b是两条直角边长度,c是斜边长度,它们满足a²+b²=c²。
时间: 2024-03-21 15:41:23 浏览: 125
直角三角形a2+b2=c2整数解的定a公式直求法
这个问题可以用双重循环来解决。外层循环枚举a的取值,内层循环枚举b的取值,然后计算c的值,如果满足条件a+b+c<=n,则符合要求的直角三角形数量加1。具体实现可以参考以下代码:
```python
def count_right_triangles(n):
count = 0
for a in range(1, n):
for b in range(a, n):
c = (a**2 + b**2)**0.5
if a + b + c <= n:
count += 1
else:
break
return count
```
其中,使用了break关键字来提高代码执行效率,如果a+b+c>n,则退出内层循环,因为后续的b的取值不会再满足条件了。
阅读全文