擦,这水题,其实是纸老虎! 因为大于2009(其实287就可以了)的N,其N!一定等于0! 让我想了一个多小时呀! #include<stdio.h> int n; int main() { int i,flag; while(scanf("%d",&n)!=EOF) { flag=1; if(n==0) flag=1; else if(n<=287) { for(i=1;i<=n;i++) { flag=(flag%2009*i%2009)%2009; } } else flag=0; printf("%d/n",flag); } return 0; }