专业编程基础技术教程

网站首页 > 基础教程 正文

Python - n以内素数之和(python求n以内素数个数)

ccvgpt 2024-11-16 17:28:41 基础教程 6 ℃
"""
@FileName: Ex03_n以内素数之和.py
@Description: Test
@Author:YOUNGMIEN-283538686
@Time: 2018/3/15 10:36
@Department: CTGU-IT
@Website: https://user.qzone.qq.com/283538686/infocenter
@Copyright: ?2020-2099 CTGU
"""
# input
n = int(input())

# process
prime_sum = 0
for num in range(2, n + 1):
    if num > 1:  # 判断 num 是素数
        for i in range(2, int(num ** 0.5) + 1):
            if (num % i) == 0:  # 不是素数
                break
        else:  # LOOP 正常结束,即不是因 break 结束,是素数
            prime_sum += num

# output
print("整数", n, "以内素数之和为:", prime_sum)


# 以下是使用函数实现
def is_prime(num):
    '''
    判断整数 num 是否是素数
    :param num: int
    :return: True,是素数; False ,不是素数
    '''
    if num <= 1:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True


def sum_of_primes_up_to_n(n):
    '''
    n 以内(包括n) 素数之和
    :param n: int
    :return: 素数之和
    '''
    prime_sum = 0
    for num in range(2, n + 1):
        if is_prime(num):  # 是素数
            prime_sum += num
    return prime_sum


# 示例用法
print("整数", n, "以内素数之和为:", sum_of_primes_up_to_n(n))

Tags:

最近发表
标签列表