题目大意:输入一个整数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 "); }else{ int temp = 1; while(n >= 1){ temp *= n; temp %= 2009; n--; } printf("%d ",temp); } } }