您的位置:

python如何求质数之和,python质数的和与积

本文目录一览:

python求1~100之间的所有素数之和

解题思路:需要实现两个函数,一个是判断数字是否是素数;一个是求和函数。

实现函数,判断是否是素数,is_prime,具体代码如下:

def is_prime(num):

  """

  判断是否是素数.

  :param num:

  :return:

  """

  result = True

  # 质数大于 1

  if num 1:

      # 查看因子

      for i in range(2, num):

          if (num % i) == 0:

              result = False

              break

      else:

          result = True

  # 如果输入的数字小于或等于 1,不是质数

  else:

      result = False

  return result

实现函数,计算数字start到end之间的所有素数之和,sum,具体代码如下:

def sum(start, end):

  """

  求闭区间[start, end]之间的素数之和.

  :param start:

  :param end:

  :return:    """

  result = 0;

  for i in range(start, end + 1):

      if is_prime(i):

          print(i)

          result = result + i

  return result

在main函数中调用求和,代码如下:

if __name__ == '__main__':

  num = 8

  print(is_prime(num))

  num = 5

  print(is_prime(num))

  print(sum(1, 5))

完整 代码如下:

python如何算质数和

你好的!

import math

 

 

def is_prime(n):  # 简化问题,先利用函数判断是否为质数

    if n == 1:  # =是赋值,==才是判断,切记切记

        return False

    for i in range(2, int(math.sqrt(n))+1):  # 质数判断条件,注意+1

        if n % i == 0:

            return False

    return True

 

 

primes = []

name = int(input())

for i in range(1, name):  # 注意这个逗号,很容易写错!

    if is_prime(i) is True:  # bool值用is判断

        primes.append(i)

print('100以内的素数:{}\n100以内素数和:{}'.format(primes, sum(primes)))

欢迎追加悬赏并采纳!

python求100到1000之间所有素数的和

#75067

L=[]

for x in range(100,1000):

if x2:

continue

for i in range(2,x):

if x%i==0:

break

else: #走到此处,x一定是素数

L.append(x)

#print("100-1000以内的全部素数有:",L)

print('和为:',sum(L))