(step7.2.4)hdu 2674(N!Again——简单数论)
题目大意:输入一个整数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);}}}