循環數

循環數是一個整數,滿足乘連續的若干個數後各位發生循環。

簡介

最廣為人知的循環數是142857.其循環如下:

142857 × 1 = 142857

142857 × 2 = 285714

142857 × 3 = 428571

142857 × 4 = 571428

142857 × 5 = 714285

142857 × 6 = 857142

分析

為了確認一個數是否是循環數,需要保證這個數是乘連續的若干個數後發生循環。因此,076923不會被認為是一個循環數,即使它各位循環後的數都是它的倍數。

以下這些數比如是循環數;

1、單獨的一位數,如5

2、單位重複的數,如555

3、循環數的重複,如142857

如果前導0不被允許,142857將是唯一一個十進制循環數。如果允許前導0,前幾個循環數是:

142857 (6位)

0588235294117647 (16位)

052631578947368421 (18位)

0434782608695652173913 (22位)

0344827586206896551724137931 (28位)

0212765957446808510638297872340425531914893617 (46位)

0169491525423728813559322033898305084745762711864406779661 (58位)

016393442622950819672131147540983606557377049180327868852459 (60位)

特徵

循環數與單位分數的循環小數表示形式有關。一個長為L的循環數在數字上是1/(L+1)的循環節。相反的,如果1/p(p是質數)的循環節長度為p-1,它的循環節在數字上就是一個循環數。

形式

由循環數與單位分數的關係可得,循環數有這樣的形式

循環數 循環數

其中b是數基(對於十進制,b=10),而p是一個不是b的倍數的質數(能產生循環數的質數被稱為全循環質數)

例如,b=10,p=7時會產生142857.

不是所有的p會根據這個公式產生循環數。例如當p=23時會產生076923076923。這些失敗的例子總包含重複的數。

前幾個產生十進制循環數的質數包括(OEIS中的數列編號為A001913)

7, 17, 19, 23, 29, 47, 59, 61, 97, 109, 113, 131, 149, 167, 179, 181, 193, 223, 229, 233, 257, 263, 269, 313, 337, 367, 379, 383, 389, 419, 433, 461, 487, 491, 499, 503, 509, 541, 571, 577, 593, 619, 647, 659, 701, 709, 727, 743, 811, 821, 823, 857, 863, 887, 937, 941, 953, 971, 977, 983 …

這個數列中所有的數p滿足10是p的模p原根,Emil Artin猜想稱37.395..%的質數屬於這個數列。

構造

循環數可以用程式構造,偽代碼如下(其中b,p的定義上文已給出)

t = 0.

r = 1.

n = 0.

loop:

t = t + 1

x = r * b

d = int(x / p)

r = x mod p

n = n · b + d

If r ≠ 1 then goto loop;

if t = p - 1 then n is a cyclic number.

這個程式通過使用長除法計算1/p的數位構造。r是每一步的餘數,d是產生的數。

若 t > p/2, 則這個數必定為循環數, 無需繼續計算後面部分了。

性質

乘以產生一個循環數的質數時,結果會是一系列的9.如 142857 × 7 = 999999。

如果將其按位劃分成若干等長份並加在一起,結果會是一系列的9.這是Midy定理的特殊情況。如14 + 28 + 57 = 99 142 + 857 = 999 1428 + 5714+ 2857 = 9999

所有的循環數都是9的倍數。

其他進制

二進制

01

0011

0001011101

000100111011

000011010111100101

三進制

0121

010212

0011202122110201

001102100221120122

0002210102011122200121202111

八進制

25

1463

0564272135

0215173454106475626043236713

0115220717545336140465103476625570602324416373126743

十二進制

2497

186A35

08579214B36429A7

二十四進制

3A6LDH

248HAMKF6D

1L795CN3GEJB

19M45FCGNE2KJ8B7

可以證明當 b 為完全平方數時,不存在長度超過1的循環數。

相關詞條

熱門詞條

聯絡我們