問題
100!の各桁を全て足し合わせた値を求めよ。
階乗
大体わかってきた。
こういう「桁全部足す(掛ける)」系の問題は値を出すしかないのだと。
なので愚直に計算します。
コード
using System; using System.Diagnostics; using System.Numerics; namespace Problem20 { class Program { static void Main(string[] args) { Debug.WriteLine(FactorialDigitSum(100)); } static BigInteger FactorialDigitSum(int n) { BigInteger bi = Factorial(n); return DigitSum(bi); } static BigInteger Factorial(int n) { BigInteger bi = 1; for (BigInteger i = 2; i <= n; i++) { bi *= i; } return bi; } static BigInteger DigitSum(BigInteger bi) { String s = bi.ToString(); BigInteger sum = 0; foreach (char c in s) { sum += (c - '0'); } return sum; } } }
解答
648
ちなみに100!は
93326215443944152681699238856266700
49071596826438162146859296389521759
99932299156089414639761565182862536
97920827223758251185210916864000000
000000000000000000
になります。
- 発売日: 2014/11/01
- メディア: Amazonビデオ
- この商品を含むブログを見る
- 出版社/メーカー: くもん出版
- メディア: おもちゃ&ホビー
- クリック: 103回
- この商品を含むブログを見る
インド式かんたん計算法―1冊で頭がよくなる 大人も子どもも、楽しみながら「算数脳」になる! (知的生きかた文庫)
- 作者: 水野純,ニヤンタデシュパンデ,Niyanta Deshpande
- 出版社/メーカー: 三笠書房
- 発売日: 2007/08
- メディア: 文庫
- 購入: 3人 クリック: 13回
- この商品を含むブログ (12件) を見る