题目大意:输入一个整数n,输出N! mod 2009 的结果。
解题思路:
1)任意数 n = ( n / 2009) * 2009 + n % 2009
2)40! mod 2009 等于 245
3)41! mod 2009 等于 0
4) 对于小于 2009 的数来说 n == n % 2009
代码如下:
/*
* 2674_1.cpp
*
* Created on: 2013年9月1日
* Author: Administrator
*/
#include <stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
if( n >= 41){
printf("0\n");
}else{
int temp = 1;
while(n >= 1){
temp *= n;
temp %= 2009;
n--;
}
printf("%d\n",temp);
}
}
}