結果

問題 No.500 階乗電卓
ユーザー suzusuzu
提出日時 2023-05-24 14:34:31
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 25 ms / 2,000 ms
コード長 608 bytes
コンパイル時間 781 ms
コンパイル使用メモリ 109,708 KB
実行使用メモリ 25,988 KB
最終ジャッジ日時 2024-06-06 05:17:12
合計ジャッジ時間 2,128 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 23 ms
23,852 KB
testcase_01 AC 24 ms
25,700 KB
testcase_02 AC 24 ms
25,808 KB
testcase_03 AC 23 ms
23,748 KB
testcase_04 AC 24 ms
23,528 KB
testcase_05 AC 24 ms
23,748 KB
testcase_06 AC 24 ms
23,888 KB
testcase_07 AC 25 ms
25,988 KB
testcase_08 AC 23 ms
25,728 KB
testcase_09 AC 23 ms
25,680 KB
testcase_10 AC 23 ms
23,852 KB
testcase_11 AC 22 ms
23,792 KB
testcase_12 AC 23 ms
25,828 KB
testcase_13 AC 23 ms
25,808 KB
testcase_14 AC 23 ms
21,816 KB
testcase_15 AC 24 ms
23,632 KB
testcase_16 AC 23 ms
21,556 KB
testcase_17 AC 23 ms
25,448 KB
testcase_18 AC 23 ms
23,784 KB
testcase_19 AC 23 ms
23,620 KB
testcase_20 AC 24 ms
23,664 KB
testcase_21 AC 23 ms
25,788 KB
testcase_22 AC 23 ms
23,880 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

using System;
using System.Linq;
using System.Collections.Generic;

namespace yukicoder
{
	class pg
	{
		static void Main(string[] args)
		{
			long N = long.Parse(Console.ReadLine());
			long ans = 1;
			long mod = 1000000000000;
			
			bool modSwitch = false;
			
			for(long i = 1;i <= N;i++)
			{
				ans *= i;
				
				if(ans > mod)
				{
					modSwitch = true;
					ans %= mod;
				}
				if(ans == 0)
				{
					Console.WriteLine("000000000000");
					return;
				}
			}
			
			if(modSwitch)
			{
				Console.WriteLine(ans.ToString("d12"));
			}else
			{
				Console.WriteLine(ans);
			}
			
		}
	}
}	
0