using System;
using System.Text;
using System.Numerics;
using System.Diagnostics;
namespace Euler57
{
class Program
{
static BigInteger numerator = 1;
static BigInteger denominator = 1;
static BigInteger tmpNumerator = 0;
static StringBuilder stringCounter = new StringBuilder();
static int digitLength = 0;
static int totalFractions = 0;
static Stopwatch mywatch = new Stopwatch();
static void Main(string[] args)
{
mywatch.Start();
for (int i = 0; i < 1000; i++)
{
tmpNumerator = (denominator * 2) + numerator;
denominator = numerator + denominator;
numerator = tmpNumerator;
stringCounter.Append(numerator);
digitLength = stringCounter.Length;
stringCounter.Append(denominator);
if (digitLength > (stringCounter.Length - digitLength))
totalFractions++;
stringCounter.Clear();
}
mywatch.Stop();
Console.WriteLine("Took " + mywatch.ElapsedMilliseconds + "ms to complete it.");
Console.WriteLine("Answer is "+totalFractions);
Console.ReadLine();
}
}
}