Python算法练习:计算差值、数字分解和哥德巴赫猜想验证
Python算法练习:计算差值、数字分解和哥德巴赫猜想验证
问题1:计算两个数的差值
算法描述: 输入两个实数x和y,若x≥y,则输出x-y;若x<y,则输出y-x。
算法框图:
输入实数x和y
if x >= y:
输出x-y
else:
输出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位的正整数,要求:
- 求出它是几位数;
- 分别打印出每一位数字;
- 按逆序打印出各位数字,例如原数为321,应输出123。
Python程序实现:
num = int(input('请输入一个不多于5位的正整数:'))
str_num = str(num)
length = len(str_num)
print('该数是', length, '位数')
print('每一位数字分别是:')
for digit in str_num:
print(digit)
print('按逆序打印出各位数字:')
for i in range(length-1, -1, -1):
print(str_num[i], end='')
问题3:验证哥德巴赫猜想
算法描述: 验证哥德巴赫猜想:任何一个充分大的偶数 (大于等于6)总可以表示成两个素数之和。
Python程序实现:
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
num = int(input('请输入一个大于等于6的偶数:'))
for i in range(2, num // 2 + 1):
if is_prime(i) and is_prime(num - i):
print(num, '可以表示成两个素数', i, '和', num - i, '的和')
break
else:
print('无法验证哥德巴赫猜想')
原文地址: https://www.cveoy.top/t/topic/fd6x 著作权归作者所有。请勿转载和采集!