説明
それは、今日はSLの神の誕生日であるが、彼は非常に低いキーであると言われて、優しく洪水管の問題を送りました...
それは「N!」で伝説
入力
各行は整数Nを含んでいる(0 <= N <= 10 ^ 9)。
出力
出力数毎にN!モッズ2009
サンプル入力
4 5
サンプル出力
24 120
ソース
考える:この質問はしている形而上学的な場所は、それは、2009年= 41 * 7 * 7です。だから、ときに疲れ41を取るために!場合は、2009年よりもフィルムの多数を取った後、すべて0
書式#include <cstdioを> する#include <iostreamの> の#include <cmath> の#include < 文字列 > の#include <CStringの> の#include <アルゴリズム> 書式#include <キュー> の#include <ベクトル> の#include <マップ> 使用して 名前空間はstd; #defineは長い長いっ のconst int型 MAXN = 5100 ; LL nは、合計。 LLのQSM(LL A) { LL ANS = 1 。 以下のために(int型 I = 1 ; I <= A。 { ANS =((ANS%2009)*(I%2009))%2009 。 } 戻りANS。 } int型のmain() { ながら(〜のscanf(" %のLLD "、&N)) { 場合(N < 41 ) { 合計 = QSM(N)。 printf(" %LLDの\ nを" 、合計)。 } 他のprintf(" 0 \ n " ); } 戻り 0 。 }