日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python再计算无限循环小数的循环节

發布時間:2023/12/16 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python再计算无限循环小数的循环节 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

循環節:
如果無限小數的小數點后,從某一位起向右進行到某一位止的一節數字循環出現,首尾銜接,稱這種小數為循環小數,這一節數字稱為循環節。
#尋找1000以內的n,使得1/n的循環小數節長度最長

#問題化簡,首先不是素數的數的循環節長度必定可以由其他數組成比如14可以由2*7組成, #那么1/14與1/7有相同的循環節長度,所以只需找出所有的素數不(包括2與5),求的他們的循環節長度。 #判斷一個1/n是否為循環小數。 def zhi(n):if n==2 or n==5:return Trueif n%2==0:return zhi(n//2)if n%5==0:return zhi(n//5)return False#判斷一個數n是否為素數 def is_prime(n):if n == 1:return Falsefor i in range(2, int(sqrt(n))+1):if n % i == 0:return

前提是所有的數必須是質數(即素數)循環節的長度是使分母P整除10^k-1的最小k值。例如:9可以整除10^1-1,所以當分母為9時,循環節是1位。7可以整除10^6-1=999999,所以當分母為7時,循環節是6位。

#判斷1/n的小數循環節點長度Length(n):L=1while(True):if (10**L-1)%n==0:breakL+=1return L a=[] for i in range(2,101):if is_prime(i) and i!=2 and i!=5:#素數包括25a.append([Length(i),i]) print(a) ##[[1, 3], [6, 7], [2, 11], [6, 13], [16, 17], [18, 19], [22, 23], [28, 29], [15, 31], [3, 37], [5, 41], [21, 43], [46, 47], [13, 53], [58, 59], [60, 61], [33, 67], [35, 71], [8, 73], [13, 79], [41, 83], [44, 89], [96, 97]]

第一次知道利用上面的算法來求循環節,真是長見識了。繼續努力。

總結

以上是生活随笔為你收集整理的python再计算无限循环小数的循环节的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。