编程:求3到100之间的素数之和

能否给解释一下啊

N=100

i=2

num=2

s=0

for i in range(2,100):

  for num in range(2,i):

    if (i%num==0):

      break

  else:   

    s+=i

print(s)

扩展资料:

Python控制语句:

if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。

for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。

while语句,当条件为真时,循环运行语句块。

try语句,与except,finally配合使用处理在程序运行中出现的异常情况。

class语句,用于定义类型。

def语句,用于定义函数和类型的方法。

pass语句,表示此行为空,不运行任何操作。

assert语句,用于程序调试阶段时测试运行条件是否满足。

参考资料来源:百度百科-Python



温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
#include<iostream.h>
void main()
{
int n,i,add;
for(n=3;n<=100;n++)
{
for(i=2;i<n;i++)
if(n%i==0) break;
if(i>=n)
add=add+n;
}
cout<<"3到100素数之和为"<<add<<endl;
}
素数就是无法被其他数整除的数,比如3,5,7,11,13等,所以第一个FOR循环是设置从3到100一次查找,第二个for循环,是用它除以它小的每一个整数,如果有可以除尽的,则它不是素数,执行break跳出本次循环,如果都除不尽,那么判断其为素数,add是和,add=add+n,n是你找到的素数。
我也是一个菜鸟,但是我知道判断素数有很多种方法,我知道俩种,一种是我刚打上去的那个,还有一种是用开根号什么的,可以减少他的时间复杂度,就是可以让他循环次数少一点,这就是我所有能告诉你的了。本回答被提问者采纳
第2个回答  2010-03-21
set talk off
s1=0
s2=0
a=3
do while a<100
for b=2 to a-1
if mod(a,b)=0
a=a+1
loop
endif
b=b+1
endif
s1=s1+1
s2=s2+a
a=a+1
enddo
?'3-100间素数个数&s1'
?'3-100间素数和&s2'
return
第3个回答  2010-03-21
clea
set talk off
sele 1
use sh
zap
n=0
j=3
do while j<=100
for i=2 to j-1
if j%i=0
n=n+1
endif
endfor

if n=0
appe blan
repl 素数 with j
endif
j=j+1
n=0

enddo

sum 素数 to a
?a