求25的所有本原根Python实现

  至于本原根是什么,在此就不详谈了。

  Python代码如下:

 1 #-*-coding:utf-8-*-
 2 
 3 '''
 4 fileName : byg.py
 5 求出25的所有本原根
 6 '''
 7 
 8 #与25互素的所有数的集合封装于List :primeList中
 9 primeList = [1 , 2 , 3 , 4 , 6 , 7 , 8 , 9 , 11 , 12 , 13 , 14 , 16 , 17 , 18 , 19 , 21 , 22 , 23 , 24]
10 
11 byg = []    #用于存储25本原根的List :byg 
12 list = []    #用于存储遍历primeList中元素测试结果的集合
13 
14 for j in primeList :    #对所有与25互素的数字进行遍历测试     
15     for i in range (1 , 21) :    #求出每个数字的1-20次方并mod 25
16         list.append (j**i % 25)
17     list.sort()            #将集合list进行排序
18     if primeList == list :    #比较集合是否与primeList相同,若说明此时的j为25的本原根
19         #print list
20         #print j
21         byg.append (j)    #将本原根j压入byg中
22     else :
23         pass    #否则,不执行任何操作
24     list = []    #初始化list , 以备下一次迭代
25 
26 print u"25的所有本原根为 : " , byg    #将25的所有本原根组成的集合byg打印出来

 


 

 

运行结果:

posted @ 2016-10-27 00:53  maoguy  阅读(4614)  评论(0编辑  收藏  举报