MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Preface: This problem is inspired by Project Euler Problem 26 and uses text from that question to explain what a recurring cycle is.

**Description**

A unit fraction contains 1 in the numerator. The decimal representation of the unit fractions with denominators 2 to 10 are given:

1/2 = 0.5 1/3 = 0.(3) 1/4 = 0.25 1/5 = 0.2 1/6 = 0.1(6) 1/7 = 0.(142857) 1/8 = 0.125 1/9 = 0.(1) 1/10 = 0.1

Where 0.1(6) means 0.166666..., and has a 1-digit recurring cycle. It can be seen that 1/7 has a 6-digit recurring cycle.

Create a function that can determine the length of the recurring cycle of 1/d given d.

35 correct solutions
66 incorrect solutions

Last solution submitted on Apr 24, 2015

1 Comment

J.R.! Menzinger
on 25 Oct 2013

Java + Signal processing aproach.

1 Comment

Venu Lolla
on 9 Mar 2012

Ah feeling a little guilty :| ...

4 Comments

Show
1 older comment

Igor
on 8 Feb 2012

Unless my math (or counting) is wrong, the result of 1/17 by long division has a 16-digit (not 15) recurring cycle. I cannot find an error in my code or hand calculations. Any help?

Alfonso Nieto-Castanon
on 10 Feb 2012

I believe you are right, the current test results seem to use something similar to the current leading method which disregards the effect of 0's so it typically underestimates the cycle length when d>10...
I believe in the test problems the cycle lengths of 17,19,197,1977,12345 should be 16,18,98,658,822 instead...

Igor
on 10 Feb 2012

And those are precisely the numbers I am getting.

Alan Chalker
on 12 Feb 2012

Wikipedia agrees with you: http://en.wikipedia.org/wiki/Repeating_decimal#Cyclic_numbers

1 Comment