Python 编写程序,求出100以内的勾股数
时间: 2024-01-20 17:09:54 浏览: 43
好的,以下是 Python 代码实现:
```python
def gcd(a, b):
"""
辗转相除法求最大公约数
"""
while b != 0:
a, b = b, a % b
return a
def pythagorean_triples():
"""
求出100以内的勾股数
"""
for a in range(1, 100):
for b in range(a, 100):
c = (a ** 2 + b ** 2) ** 0.5
if c.is_integer() and gcd(a, b) == 1:
print(a, b, int(c))
pythagorean_triples()
```
解释一下代码:首先定义了一个函数 `gcd()`,用于求两个数的最大公约数,这里使用辗转相除法。然后定义一个函数 `pythagorean_triples()`,在 `pythagorean_triples()` 中使用两重循环遍历1到100的每个数字,计算出勾股数,判断勾股数是否为整数且a、b是否互质,如果满足条件就输出。
相关问题
用python编写程序求100以内素数之和并输出
以下是一个用Python编写的程序,用于计算100以内素数的总和并输出结果:
```python
# 检查一个数字是否为素数
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 计算100以内素数之和
sum_of_primes = 0
for n in range(2, 101):
if is_prime(n):
sum_of_primes += n
# 输出结果
print("100以内素数的总和为:", sum_of_primes)
```
输出结果为:
```
100以内素数的总和为: 1060
```
python编写程序,写出100以内最大的素数
可以使用试除法来判断一个数是否为素数,即判断该数是否能被2到sqrt(n)之间的所有整数整除。以下是使用Python编写的代码,可以找出100以内最大的素数:
```python
import math
def is_prime(num):
"""判断一个数是否为素数"""
if num < 2:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
max_prime = 0
for i in range(2, 101):
if is_prime(i):
max_prime = i
print(max_prime)
```
输出结果为97,即100以内最大的素数为97。