That's pretty much the same as my solution, so just a couple of things:

(1): The default precision with bignum (as I used) is good enough for up to 99, but if I want to go above, I need to use higher precision too. Your code fails even earlier. A constant div_scale of 50 only goes so far ... though of course when the list of numbers checked is also constant, I guess I can't fault it.

(2): Your code will break for numbers above 100 (even if you up the div_scale), since every float will begin with "0.00", and your code will see the repeated "0", and think it is the period ... no matter what follows it! Even if you hard code it so that you skip those initial zeros, it will find false positives for other numbers as well: 1/2048 == 0.00048828125, exact, but your code (if fixed to skip the zeros) will find a repeated digit "8" and assume it is the cycle sequence.

(I solve this problem by insisting that there are fewer than COUNT characters remaining after the match and making sure the string is big enough that we get at least two COUNTs worth of cyclying, which also requires keeping trailing zeros.)

So yeah, I guess you were still missing something. :)

print "Just another Perl ${\(trickster and hacker)},"
The Sidhekin proves Sidhe did it!


In reply to Re^4: Recurring Cycle of Fractions by Sidhekin
in thread Recurring Cycle of Fractions by Limbic~Region

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.