1. 程式人生 > >數論學習:分數迴圈節長度

數論學習:分數迴圈節長度

分數的迴圈節

rs0<r<s,對於分數

rs=0.c1c2c3...

b進位制形式。有時候會出現迴圈情況。即:

存在一個n,k有:

ci+k=ci,i>n,0<ci<b

那麼何時會出現迴圈。何時又不會呢?

顯然:

α=rs=c1b1+c2b2+c3b3......

如果α不是迴圈的,那麼必然存在一個數字n有:

αbn=c1c2c3..cn

顯然:sbn

這也就是說。每一個整除s的素因子也整出b.

那麼符合上述條件的。最小的n必然是最小的。使得sbnn

即:當整除s的每一個素數都整除b
時;

則:αb進位制展開。小數點後面的長度為n,其中:n為最小的使得sbn的數。

下面證明n是其長度。

如果α的展開長度為n+l.那麼有:

αbn=i=1ncibni+i=1lcn+ibi

因為sbn,所以αbn為整數。矛盾。得證。

如果α是迴圈的。

記:s=cddbc的每一個素因子也是b的素因子。

這也就是說,c是滿足c的每一個素因子都是b的且是最大的

n為:cbn最小的n

hc=bn

bn×rs=hrd

A+ed=hrd

顯然ed,這是因為:e=hrmoddrdbd

顯然d
=1
時。α不迴圈。

相關推薦

數論學習分數迴圈長度

分數的迴圈節 令r⊥s且0<r<s,對於分數 rs=0.c1c2c3... 的b進位制形式。有時候會出現迴圈情況。即: 存在一個n,k有: ci+k=ci,其中

php學習for迴圈中break和continue的區別

php自學網站推薦:http://www.51zxw.net/study.asp?vip=4857021break:跳出整個for迴圈;continue:跳出單次for迴圈;//break跳出整個for迴圈 for($i=1;$i<10;$i++ ){ if(

php學習筆記第六--迴圈

這幾天村裡跟電信的鬧了點矛盾,導致快一週了沒網,超級鬱悶。。。。。。。。。。   不管是村裡的問題還是電信的問題,最終受害的只有普通的民眾,民眾永遠都是犧牲品,無奈。   言歸正傳,繼續PHP學習。   PHP中的迴圈有以下幾種: for

學習筆記第二十四分數規劃

正題       好像大部分都是01分數規劃?       它是解決這樣的問題的,求       怎麼做?       好像很麻煩。       我們來二分一個數k,       然後讓這堆

【EFaulty Factorial】(數論迴圈)

**題意**:在1*2*3*......*n中改變一個數為比它小的數,使得%p等於r.輸出任意一個解 2<=n&&n<=1e18 2<=p&&p<1e7 **分析**:n很大,從p入手,考慮迴圈節。但是真的很暴

求一個分數迴圈

(某年複試真題)編寫完整的函式,輸入正整數N和D,如果N/D為無限迴圈小數,輸出時小數點後面的第一個迴圈節用括號括起來,不顯示後面的迴圈;不為迴圈小數則正常顯示。(25分)如 :3/4=0.75;5/6=0.8(3);10/3=3.(3) 思路: 分別用x和y表示分子和分母,先求出整數部

【FZU - 1759】Super A^B mod C (數論,快速冪,快速乘,尤拉降冪,指數迴圈,模板)

題幹: Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,C<=1000000000,1<=B<=10^1000000). Input There are mult

php學習筆記第九--高階--Date()

PHP 的 date() 函式用於格式化時間或日期。 PHP Date() 函式 PHP Date() 函式可把時間戳格式化為可讀性更好的日期和時間。 語法 date(format,timestamp) 引數 描述 for

php學習筆記第七--函式

公司今天的網路環境太差了 ,剛剛居然將一片文章連續釋出了2次,哎!!!!!!   PHP 的真正威力源自於它的函式。 在 PHP 中,提供了超過 700 個內建的函式。 注:這是PHP的最重要的部分   建立 PHP 函式

php學習筆記第五--php陣列

 陣列中的元素都有自己的 ID,因此可以方便地訪問它們。 有三種陣列型別: 數值陣列 帶有數字 ID 鍵的陣列 關聯陣列 陣列中的每個 ID 鍵關聯一個值 多維陣列 包含一個或多

php學習筆記第四--php中的運算子和流程控制

PHP的運算子、流程控制和其他語言的運算子一樣,沒什麼特別的,這裡不再累贅。     特別的運算子: .=             $a.=$b

Python學習筆記6分支迴圈

      if :   語句1   語句2   ······ else:   語句1   語句2   ······       for var in series:   語句1   語句2   ········

Python基礎學習for迴圈,函式,迭代器

12、for迴圈 """ for 變數 in 序列 執行的程式碼塊 """ list01 = ['joe', 'susan', 'jack' ,'Tom'] # 遍歷列表 for i in list01: print(i) pass空操作,無任何意義, pas

python學習 lesson4迴圈語句for迴圈

一、for迴圈的基本結構 for迴圈可以遍歷任何序列的專案,如一個列表或者一個字串。 for迴圈的結構 for iter_var in iterable: suite_to_repeat 註解:每次迴圈, iter_var 迭代變數被設定為可迭代物件(序列, 迭代器, 或

UVA 1328 Period(KMP:最短迴圈的有無及長度)

要明確判斷條件 充分利用next陣列就行 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using

Python學習while迴圈

一,模擬一個帳號登陸程式,錯誤三次無法登陸並退出程式A = 1#初始化密碼password = '123456'#開始迴圈while True: mima = input("請輸入密碼")  #密碼正確,跳出迴圈 if password == mima: print("密碼正確,歡迎

2015 ACM/ICPC Asia Regional Shenyang Online & HDU 5451 Best Solver【迴圈+數論||共軛矩陣冪+廣義斐波那契降冪】

通過一道名為So easy!的共軛構造矩陣冪取模的問題來聯想到這個題,不難發現應該用同樣的套路來進行共軛構造。 但是問題來了,指數過分強大,取模數超小,於是一開始考慮尤拉降冪再矩陣快速冪。資料一大,發現答案全錯!後請教得知無理數無法尤拉降冪。 那麼就只有

POJ2406-Power Strings(尋找字串迴圈

Power Strings Time Limit: 3000MS Memory Limit: 65536K Description Given two strings a and b we define a*b to be their con

python學習筆記2分支迴圈

三大結構 順序:程式由上往下執行 分支: if :else :elif 迴圈:for while 迴圈 for i in [可迭代序列]: while True:break #注意,一般在python中,如果由表示數字範圍的兩個數,一般是包含左邊數字不包含右邊數字:ra

吳恩達Coursera深度學習課程 deeplearning.ai (5-1) 迴圈序列模型--程式設計作業(一)構建迴圈神經網路

Part 1: 構建神經網路 歡迎來到本週的第一個作業,這個作業我們將利用numpy實現你的第一個迴圈神經網路。 迴圈神經網路(Recurrent Neural Networks: RNN) 因為有”記憶”,所以在自然語言處理(Natural Languag