/// <summary> /// Solve the problem /// </summary> /// <returns>The sum result</returns> private long Solve() { BigNumber num = BigOperation.Pow(this.Number, this.BaseNumber); long sum = 0; foreach (Char ch in num.ToString()) { sum += long.Parse(ch.ToString()); } return(sum); }
/// <summary> /// Solve the problem /// </summary> /// <returns>The sum result</returns> private long Solve() { BigNumber pG = BigOperation.Factorial(this.Number); int sum = 0; foreach (char d in pG.ToString().ToCharArray()) { sum += int.Parse(d.ToString()); } return(sum); }
public long Solve() { BigNumber num = BigOperation.Pow(1, 1), res; for (int i = 2; i <= 1000; i++) { res = BigOperation.Pow(i, i); num += res; } Console.WriteLine(num); return(long.Parse(num.ToString().Substring(num.ToString().Length - 10))); }
public long Solve() { BigNumber num; long digitSum, longestDigitSum = 0; for (long i = 1; i < 100; i++) { for (long j = 1; j < 100; j++) { num = BigOperation.Pow(i, j); digitSum = num.ToString().ToCharArray().Select <Char, long>(x => long.Parse(x.ToString())).Sum(); if (digitSum > longestDigitSum) { longestDigitSum = digitSum; } } } return(longestDigitSum); }
/// <summary> /// Solve the problem /// </summary> /// <returns>The sum result</returns> private int Solve() { Stopwatch sw = new Stopwatch(); sw.Start(); BigNumber num; Members = new List <string>(); for (int a = 2; a <= this.Limit; a++) { for (int b = 2; b <= this.Limit; b++) { num = BigOperation.Pow(a, b); if (!Members.Contains(num.ToString())) { Members.Add(num.ToString()); } } } sw.Stop(); Console.WriteLine("Elapsed: {0}s, {1}ms", sw.Elapsed.Seconds, sw.Elapsed.Milliseconds); return(this.Members.Count); }