Python 算法练习:数的运算、位数判断和哥德巴赫猜想

本文提供三个 Python 算法练习题,分别涉及实型变量的运算、正整数的位数判断和哥德巴赫猜想的验证。每个问题都包括算法描述和 Python 代码实现,并附带测试示例。

问题 1:实型变量的运算

算法描述:

  1. 输入实型变量 x 和 y;
  2. 判断 x 是否大于等于 y;
  3. 若是,则输出 x-y;
  4. 若否,则输出 y-x。

Python 代码实现:

x = float(input('请输入 x 的值:'))
y = float(input('请输入 y 的值:'))

if x >= y:
    result = x - y
else:
    result = y - x

print('结果为:', result)

问题 2:正整数的位数判断

算法描述:

  1. 输入一个不多于 5 位的正整数 num;
  2. 将 num 转换成字符串类型,求字符串的长度,即为 num 的位数;
  3. 通过循环,从高位到低位,依次求每一位数字;
  4. 通过循环,从低位到高位,依次打印每一位数字。

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:哥德巴赫猜想验证

算法描述:

  1. 输入一个充分大的偶数 n;
  2. 定义一个函数 is_prime 判断一个数是否为素数,如果是素数返回 True,否则返回 False;
  3. 通过循环,从 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 语言。

Python 算法练习:数的运算、位数判断和哥德巴赫猜想

原文地址: https://www.cveoy.top/t/topic/fd0T 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录