利用Python求质数的和

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

 

   思路:

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

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


   Python实现代码: 

利用Python求质数的和
 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    
利用Python求质数的和



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

利用Python求质数的和

上一篇:阿里云智能大学训练营讲师培训


下一篇:【Linux】备份与恢复