首页 > 编程语言 > 详细

利用Python求质数的和

时间:2014-03-22 21:57:39      阅读:675      评论:0      收藏:0      [点我收藏+]

   问题源某群一讨论:10亿以内的数与98754互为质数的正整数之和

 

   思路:

1. 先求出98754的约数,并将其放入列表中;

2. 从1至10亿的自然数,遍历98754公约数列表求余。如果遍历完约数列表且余数都不为0,则认为与98754互为质数,并求和;


   Python实现代码: 

bubuko.com,布布扣
 1 def Number():
 2     
 3     """10亿以内的数与98754互为质数的正整数之和"""
 4     
 5     num1 = 1000000000
 6 #    num1 = 1000
 7     num2 = 98754
 8     num2_accept = []
 9        
10     for i in range(2,num2):       #获取98754约数,并放入一列表中
11         if (num2 % i == 0) and i > 0:
12             num2_accept.append(i)
13     print num2_accept
14     
15     SUM_total = 0
16     x = 1
17     nums = []
18     lengs = len(num2_accept) - 1   #获取98754约数列表长度,并减一
19     while (x <= num1):             #1至10亿内自然数与98754的约数求余,求得到互为质数的和
20         for z,y in enumerate(num2_accept):
21             if x is y:
22                 break
23             
24             if x < y: 
25                 if y % x != 0:        #求余判断
26                     if  z == lengs:   #判断是否已经遍历98754约数列表求余
27                         #nums.append(x)
28                         SUM_total += x
29                 else:
30                     break
31             else:
32                 if  x % y != 0:       #求余判断
33                     if  z == lengs:   #判断是否已经遍历98754约数列表求余
34                         #nums.append(x)
35                         SUM_total += x
36                 else:
37                     break           
38         x += 1
39     print SUM_total    
bubuko.com,布布扣



利用Python求质数的和,布布扣,bubuko.com

利用Python求质数的和

原文:http://www.cnblogs.com/jeremyqing/p/3617793.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!