N!Again

#include<iostream>
using namespace std;
int main()
{
	int a,i;
	while(~scanf("%d",&a))
	{
		if(a==0)
			printf("1\n");
		else if(a<2009)
		{
			int count=1;
			for(i=1;i<=a;i++)
				count=count*i%2009;
			printf("%d\n",count);
		}
		else if(a>=2009)
			printf("0\n");
	}
	return 0;
}



这个题目运用了:N!%m=(1%m)*(2%m)*……*(N%m);

当N=0时,输出1;

当N>=2009时,输出为0;

posted @ 2012-06-20 18:43  欧阳生朵  阅读(215)  评论(0编辑  收藏  举报