求给定范围内的素数之和

时间:2021-05-05 16:49:06

标签: python

我想编写一个执行以下操作的代码:

  1. 给定一个字符串,它找出元音在给定字符串中的位置
  2. 将每个索引项乘以 100
  3. 将 1 和上一步结果数之间的所有质数相加。

例如:string='hello'

在这个例子中:

  • 第一个元音“e”位于索引 1 处,因此 1*100=100
  • 1 到 100 之间的质数之和是 1060
  • 在索引 4 处找到下一个元音“0”,因此 4*100=400
  • 1 到 400 之间的质数之和为 13887

该代码用于查找索引并将其乘以 10:

string='hello'
vowel='aeiouAEIOU'
res = []
for ele in range(len(string)):
    if string[ele] in 'AEIOUaeiou':
       res.append(ele)
       
       mul_list=[element * 100 for element in res]
       

这会生成如下所示的输出:

Output

findong prime nos sum 的代码如下:

def sum_primes (start,stop):
result=[]
for i in range(start,stop):
    if i==1:
        continue
    prime=True
    for j in range(2,int(math.sqrt(i))+1):
        if i%j==0:
            prime=False
            break
    if prime:
        result.append(i)
return sum(result)

现在我需要一种方法来根据第三个条件更新我的开始和停止变量

2 个答案:

答案 0 :(得分:1)

使用原始问题的函数 isPrime,您可以使用 filtersum

allnums=[x for x in range(mul_list[0],mul_list[1])]
primes=list(filter(lambda x: isPrime(x,2)==True, allnums))

print(sum(primes))

答案 1 :(得分:1)

希望这能解决你的问题

catchAsync(handler)(req,res,next);
相关问题