Python 算法练习:数的运算、位数判断和哥德巴赫猜想
Python 算法练习:数的运算、位数判断和哥德巴赫猜想
本文提供三个 Python 算法练习题,分别涉及实型变量的运算、正整数的位数判断和哥德巴赫猜想的验证。每个问题都包括算法描述和 Python 代码实现,并附带测试示例。
问题 1:实型变量的运算
算法描述:
- 输入实型变量 x 和 y;
- 判断 x 是否大于等于 y;
- 若是,则输出 x-y;
- 若否,则输出 y-x。
Python 代码实现:
x = float(input('请输入 x 的值:'))
y = float(input('请输入 y 的值:'))
if x >= y:
result = x - y
else:
result = y - x
print('结果为:', result)
问题 2:正整数的位数判断
算法描述:
- 输入一个不多于 5 位的正整数 num;
- 将 num 转换成字符串类型,求字符串的长度,即为 num 的位数;
- 通过循环,从高位到低位,依次求每一位数字;
- 通过循环,从低位到高位,依次打印每一位数字。
Python 代码实现:
num = input('请输入一个不多于 5 位的正整数:')
length = len(num)
print('该数是{}位数'.format(length))
print('每一位数字为:')
for i in range(length):
print(num[i])
print('逆序打印各位数字:')
for i in range(length - 1, -1, -1):
print(num[i], end='')
问题 3:哥德巴赫猜想验证
算法描述:
- 输入一个充分大的偶数 n;
- 定义一个函数 is_prime 判断一个数是否为素数,如果是素数返回 True,否则返回 False;
- 通过循环,从 2 到 n-2 的范围内,依次判断是否存在两个素数的和等于 n,如果存在则输出该组素数,结束循环。
Python 代码实现:
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
n = int(input('请输入一个充分大的偶数:'))
print('满足哥德巴赫猜想的两个素数为:')
for i in range(2, n - 1):
if is_prime(i) and is_prime(n - i):
print(i, n - i)
break
注意: 这里的 is_prime 函数是用来判断一个数是否为素数的,可以在问题 3 的代码中定义该函数。
希望这些练习题能够帮助你更好地理解和运用 Python 语言。
原文地址: https://www.cveoy.top/t/topic/fd0T 著作权归作者所有。请勿转载和采集!