Re: Cyclical Decimal Expansion
- To: mathgroup at smc.vnet.net
- Subject: [mg114502] Re: Cyclical Decimal Expansion
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sun, 5 Dec 2010 21:57:38 -0500 (EST)
Here is a quick implementation of the function described below. It takes a
fraction as an argument and returns a pair: {the number of non-recurring digits in the decimal expansion of the fraction, the number of recurring ones}.
f[x_Rational] :==
Module[{n == Denominator[x], a, b}, a == IntegerExponent[n, 2];
b == IntegerExponent[n, 5]; {Max[a, b],
MultiplicativeOrder[10, n/(2^a*5^b)]}]
For example:
f[17/234]
{1,6}
and indeed:
N[17/234, 12]
0.0726495726496
Andrzej Kozlowski
On 5 Dec 2010, at 18:28, Andrzej Kozlowski wrote:
> The answer is classical and is (or rather used to be) taught in elementary number theory classes. Here is how to compute it with Mathematica:
>
> Consider a fraction of the form p/q in reduced form. Use FactorInteger to factorize it into the form 2^a 5^b Q ,where we have GCD[Q,10]====1. Let m == Max[a,b]. Then in the decimal expansion of p/q will get m non-recurring digits, while the number of recurring ones depends only on Q and is given by the Mathematica function MultiplicativeOrder[10,Q]. For example. in the case 1/7 there are no non-recurring digits and the number of recurring ones is:
>
> In[342]:== MultiplicativeOrder[10, 7]
>
> Out[342]== 6
>
>
> Andrzej Kozlowski
>
>
> On 3 Dec 2010, at 11:21, Harvey P. Dale wrote:
>
>> What's the easiest way to determine the length of the repeating
>> cycle for decimal expansions of fractions? For example, 1/7 ==
>> 0.14285714285714285714 . . . so the length of its repeating cycle
>> (142857) is 6. For 1/3 the length of the cycle is obviously 1. For
>> some fractions, e.g., 1/4, the decimal expansion is not cyclical (in
>> base 10).
>>
>> Thanks.
>>
>> Harvey
>>
>> ______________________________________________________________________
>> This email has been scanned by the MessageLabs Email Security System.
>> For more information please visit http://www.messagelabs.com/email
>> ______________________________________________________________________
>>
>