トップページに戻る
次のC#のサンプルへ
前のC#のサンプルへ
Problem20 100の階乗の各桁の合計
問題
n × (n - 1) × ... × 3 × 2 × 1 を n! と表す。
100! の各桁の数字の合計を求めよ。
ソース
using System;
using System.Linq;
class Program
{
static void Main()
{
var IntArr = new int[999];
IntArr[0] = 1;
for (int I = 1; I <= 100; I++) {
for (int J = 0; J <= IntArr.GetUpperBound(0); J++) {
IntArr[J] *= I;
}
for (int J = 0; J <= IntArr.GetUpperBound(0) - 1; J++) {
if (IntArr[J] >= 10) {
IntArr[J + 1] += IntArr[J] / 10;
IntArr[J] %= 10;
}
}
}
Console.WriteLine(IntArr.Sum());
}
}
実行結果
648
解説
Intの配列で大きい桁の変数を代用してます。