どーも、みつおです。
問題
次の式は, 1^1 + 2^2 + 3^3 + … + 10^10 = 10405071317 である.
では, 1^1 + 2^2 + 3^3 + … + 1000^1000 の最後の10桁を求めよ.
出典:Problem48
解答
using System; using System.Numerics; namespace Problem48 { class Program { static void Main(string[] args) { Console.WriteLine(Solve()); Console.ReadLine(); } private static string Solve() { string ret = ""; BigInteger sum = 0; // 1^1 + 2^2 + 3^3 + ... + 1000^1000 for (int i = 1; i <= 1000; i++) { sum += BigInteger.Pow(i, i); } //最後の10桁を取得 ret = sum.ToString().Substring(sum.ToString().Length - 10, 10); return ret; } } }
出力
9110846700