結果

問題 No.502 階乗を計算するだけ
ユーザー kotatsugamekotatsugame
提出日時 2022-05-29 02:13:58
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 18 ms / 1,000 ms
コード長 3,966 bytes
コンパイル時間 504 ms
コンパイル使用メモリ 64,192 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-20 23:42:32
合計ジャッジ時間 1,969 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 2 ms
6,944 KB
testcase_02 AC 1 ms
6,944 KB
testcase_03 AC 1 ms
6,940 KB
testcase_04 AC 1 ms
6,940 KB
testcase_05 AC 2 ms
6,944 KB
testcase_06 AC 1 ms
6,944 KB
testcase_07 AC 2 ms
6,944 KB
testcase_08 AC 2 ms
6,940 KB
testcase_09 AC 2 ms
6,944 KB
testcase_10 AC 2 ms
6,940 KB
testcase_11 AC 2 ms
6,944 KB
testcase_12 AC 1 ms
6,944 KB
testcase_13 AC 2 ms
6,944 KB
testcase_14 AC 1 ms
6,944 KB
testcase_15 AC 2 ms
6,944 KB
testcase_16 AC 1 ms
6,944 KB
testcase_17 AC 2 ms
6,944 KB
testcase_18 AC 2 ms
6,944 KB
testcase_19 AC 1 ms
6,944 KB
testcase_20 AC 1 ms
6,940 KB
testcase_21 AC 2 ms
6,944 KB
testcase_22 AC 7 ms
6,940 KB
testcase_23 AC 3 ms
6,940 KB
testcase_24 AC 5 ms
6,944 KB
testcase_25 AC 1 ms
6,944 KB
testcase_26 AC 4 ms
6,940 KB
testcase_27 AC 3 ms
6,944 KB
testcase_28 AC 3 ms
6,940 KB
testcase_29 AC 3 ms
6,944 KB
testcase_30 AC 6 ms
6,944 KB
testcase_31 AC 4 ms
6,944 KB
testcase_32 AC 3 ms
6,940 KB
testcase_33 AC 18 ms
6,944 KB
testcase_34 AC 8 ms
6,940 KB
testcase_35 AC 12 ms
6,940 KB
testcase_36 AC 2 ms
6,940 KB
testcase_37 AC 7 ms
6,944 KB
testcase_38 AC 8 ms
6,944 KB
testcase_39 AC 6 ms
6,940 KB
testcase_40 AC 14 ms
6,940 KB
testcase_41 AC 7 ms
6,940 KB
testcase_42 AC 2 ms
6,944 KB
testcase_43 AC 1 ms
6,940 KB
testcase_44 AC 2 ms
6,944 KB
testcase_45 AC 2 ms
6,940 KB
testcase_46 AC 2 ms
6,940 KB
testcase_47 AC 2 ms
6,940 KB
testcase_48 AC 2 ms
6,940 KB
testcase_49 AC 2 ms
6,940 KB
testcase_50 AC 2 ms
6,944 KB
testcase_51 AC 1 ms
6,944 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp:351:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
  351 | main()
      | ^~~~

ソースコード

diff #

#include<iostream>
using namespace std;
const int mod=1e9+7;
int s[]={1,
5832229,
316220877,
980250487,
95936601,
598816162,
626497524,
245341950,
968999,
881746146,
76479948,
886294336,
544075857,
82926604,
721996174,
172827403,
294587621,
497478507,
228338256,
746536789,
27368307,
5974669,
86609485,
371263376,
808412394,
1669644,
595143852,
526807168,
459188207,
840398449,
888050723,
440902696,
56305184,
804805577,
934814019,
112249297,
47401357,
60168088,
14235602,
697066277,
661224977,
802214249,
583967898,
972424306,
243276029,
797848181,
159554990,
250388809,
82104855,
244109365,
261384175,
747664143,
80729842,
827348878,
457882808,
509096183,
677711203,
555972231,
349551356,
66247239,
547665832,
917404120,
23015220,
187348575,
105574531,
34538816,
630621321,
616368450,
557301633,
958992544,
724691727,
946237212,
492237273,
763017204,
740594930,
464456846,
116261993,
173784895,
481661251,
91068149,
136026497,
113570024,
270239666,
702807165,
103056890,
167240465,
479334442,
277717575,
353339603,
192345193,
217544623,
183011467,
898554793,
611251733,
160398980,
607730875,
648991369,
780122909,
460373282,
358700839,
668123525,
957633609,
841799766,
954061253,
299172297,
318951960,
204355779,
450398100,
472935553,
776264326,
522049725,
142946099,
332139472,
164752359,
580204973,
624577416,
836813268,
184419613,
715247054,
383388563,
189239124,
405755338,
825132993,
868553027,
882148737,
529726489,
241107368,
11633075,
115312728,
878471898,
917084264,
808651347,
59883031,
715317963,
316486674,
937409008,
833550543,
987314628,
274192146,
952831975,
358655417,
987597705,
125354499,
343043237,
209244402,
392838702,
263053337,
551028176,
155569943,
268844715,
462639908,
382776490,
675258797,
741114145,
325912072,
432030917,
754363835,
278704903,
424989675,
832069712,
99199382,
302020341,
726997875,
183888367,
732868367,
863250534,
352946234,
503105966,
16634739,
985594252,
97830135,
662741752,
167831173,
91352335,
385388084,
46819124,
442795120,
152028387,
553033642,
996049638,
141827977,
593938674,
565456578,
551096742,
370732451,
457469634,
777901604,
956856710,
462528877,
100498586,
811575797,
907720182,
508038818,
401382061,
34629406,
26011548,
206330671,
185646898,
523696723,
859369491,
724464507,
626663115,
596949867,
465070856,
48824684,
564188856,
484458461,
181594759,
965656187,
936229527,
456152084,
262322489,
483924582,
490222511,
368114731,
218107212,
322908524,
573074791,
744158074,
9416035,
769795511,
137603545,
919419361,
310317874,
256853930,
147050765,
180350107,
384547635,
682189174,
819114541,
825871994,
314738056,
815463367,
188054995,
933376898,
765215899,
632627667,
282092463,
827722926,
322096036,
852304035,
555842733,
212842957,
155133422,
206282795,
414236650,
534279149,
811053196,
219932130,
398782410,
217598709,
178598958,
812283640,
113917835,
564827277,
439411911,
48562889,
945204804,
897162044,
828883117,
624500515,
514359662,
628829100,
513196123,
574455974,
819801784,
15391652,
264582598,
986598821,
369832433,
423951674,
496709826,
541120825,
162683802,
269571439,
341080135,
751040886,
72482816,
100228913,
906233141,
814362881,
885537778,
983737173,
804930491,
946421040,
175638827,
885362182,
749816133,
281804989,
640266394,
256473217,
322633051,
304644842,
754787150,
799289297,
687265514,
701220427,
600624983,
759404319,
22556579,
586445753,
763514207,
351472920,
634359666,
364380585,
260466949,
237120480,
213092254,
793307102,
362928234,
778983779,
698308420,
713258160,
804861409,
217298111,
954913,
10430738,
567473423,
946149627,
462880311,
965785236,
881482632,
512634493,
967284733,
165393390,
532702135,
536841269,
301196854,
373451745,
576368335,
847549272,
216046746,
780882948,
869544707,};
int fac(long long n)
{
	if(n>=mod)return 0;
	else
	{
		const int m=3e6;
		const int dv=n/m;
		int ans=s[dv];
		const int dvm=dv*m;
		for(int i=1;i<=n-dvm;i++)ans=(long long)ans*(i+dvm)%mod;
		return ans;
	}
}
main()
{
    long long n;
    cin>>n;
    cout<<fac(n)<<endl;
}
0