HDU 2674
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 2674相关的知识,希望对你有一定的参考价值。
0 <= N<=10^9
看到这个数据范围知道常规方法肯定做不出来、
不过一想想既然是mod2009,是不是只要其中含有一个2009,那么其结果一定是0了呢
说了这里思路,就是看什么时候出现2009这个因式,41!中 41*7*7;也就是说n>40的结果都是0了
贴代码了
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 const int qq=1e1+5; 5 int num[qq]; 6 int main() 7 { 8 num[0]=1; 9 for(int i=1;i<=40;++i) 10 num[i]=(i*num[i-1])%2009; 11 int n; 12 while(cin >> n){ 13 if(n>40) cout << 0 << endl; 14 else 15 cout << num[n] << endl; 16 } 17 }
以上是关于HDU 2674的主要内容,如果未能解决你的问题,请参考以下文章
快速幂 HDU-1021 Fibonacci Again , HDU-1061 Rightmost Digit , HDU-2674 N!Again