算法39 ◉‿◉ 计算两百万以下所有质数的和
http://xxx.fishc.com/forum/201705/05/225545py2j222x5z6x55n2.png按照提示,完成代码,秀秀你的编程能力!
不许看答案,否则打屁屁
程序分析:
10 以下的质数的和是 2 + 3 + 5 + 7 = 17。
找出两百万以下所有质数的和。
源代码:
**** Hidden Message *****
○面试题索引贴●
如果喜欢,请订阅{:10_303:} :
HTML5 - 庖丁解牛 + JavaScript - 庖丁解牛
用python算还是比较慢。
list1 =
for num in range(5, 2000000, 2):
for i in list1:
if num % i == 0:
break
if num < i * i:
list1.append(num)
break
print(sum(list1))
什么是质数? 嗯 window.onload = function(){
function is_zz(num){
for(var i = 2; i <= Math.sqrt(num);i++){
if(num % i == 0){
return false;
}
}
return true;
}
var num = 0;
for(var i = 1;i < 2000000;i++){
if(is_zz(i)){
num += i;
}
}
document.write(num);
}; 666
def is_prime(orign):
i=2
while i<=(orign//2):
if orign%i == 0:
return False
else:
i+=1
return True
def get_prime():
orign = 2
while True:
if is_prime(orign):
yield orign
orign += 1
def sum_prime(require):
sum_number = 0
for each in get_prime():
if each <= require:
sum_number+=each
else:
print(sum_number)
break
能改进算法吗?我的Python算了很久 霓虹巨人 发表于 2020-4-18 23:33
能改进算法吗?我的Python算了很久
import math
def is_prime(orign):
i=2
while i<=math.sqrt(orign):
if orign%i == 0:
return False
else:
i+=1
return True
def get_prime():
orign = 2
while True:
if is_prime(orign):
yield orign
orign += 1
def sum_prime(require):
sum_number = 0
for each in get_prime():
if each <= require:
sum_number+=each
else:
print(sum_number)
break
我找到了 1
页:
[1]