Advertisement
Guest User

Grant Kot

a guest
Aug 15th, 2009
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.81 KB | None | 0 0
  1. static void Problem26() {
  2.     DateTime start = DateTime.Now;
  3.     int numLongestRecurring = 1;
  4.     int cycle = 0;
  5.     for (int i = 1; i < 1000; i++) {
  6.         int power = 1, lam = 1;
  7.         int tortoise = 1 / i;
  8.         int tortoiseRem = (1 % i) * 10;
  9.         int hare = tortoiseRem / i;
  10.         int hareRem = (tortoiseRem % i) * 10;
  11.         while (tortoise != hare || tortoiseRem != hareRem) {
  12.             if (power == lam) {
  13.                 tortoise = hare;
  14.                 tortoiseRem = hareRem;
  15.                 power *= 2;
  16.                 lam = 0;
  17.             }
  18.             hare = hareRem / i;
  19.             hareRem = (hareRem % i) * 10;
  20.             lam++;
  21.         }
  22.         if (lam > cycle) {
  23.             cycle = lam;
  24.             numLongestRecurring = i;
  25.         }
  26.     }
  27.     Console.WriteLine("Number with longest recurring cycle: {0}\nCycle Length: {1}", numLongestRecurring, cycle);
  28.     Console.WriteLine((DateTime.Now - start).TotalMilliseconds + " ms");
  29.     Console.ReadLine();
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement