hdu 3213 GCC
2013-09-11 14:05
387 查看
GCCTimeLimit: 1000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1816 Accepted Submission(s): 567 Problem DescriptionThe GNU Compiler Collection (usually shortened to GCC) is a compiler system produced by the GNU Project supporting various programming languages. But it doesn’t contains the math operator “!”.In mathematics the symbol represents the factorial operation. The expression n! means "the product of the integers from 1 to n". For example, 4! (read four factorial) is 4 × 3 × 2 × 1 = 24. (0! is defined as 1, which is a neutral element in multiplication, not multiplied by anything.)We want you to help us with this formation: (0! + 1! + 2! + 3! + 4! + ... + n!)%m InputThe first line consists of an integer T, indicating the number of test cases.Each test on a single consists of two integer n and m. OutputOutput the answer of (0! + 1! + 2! + 3! + 4! + ... + n!)%m.Constrains0 < T <= 200 <= n < 10^100 (without leading zero)0 < m < 1000000 Sample Input1 10 861017 Sample Output593846这个题主要是运用啦模的运算,再就是当n大于m时n!%m总为零,只要考虑n以前的数就可以啦#include<stdio.h> #include<string.h> char s[1000005]; int main() { int m,T; __int64 max; scanf("%d",&T); while(T--) { scanf("%s %d",s,&m); int len=strlen(s); if(len>=7) max=m; else { max=0; for(int j=0;j<len;j++) { max+=s[j]-'0'; if(j!=len-1) max=max*10; } } __int64 sum=0,t=1; int i; for(i=1;i<=max;i++) { t=t*i%m; sum=(sum+t)%m; } sum=(sum+1)%m; printf("%I64d\n",sum); } return 0; } |
相关文章推荐
- HDU 3123(ZZULI 1605) GCC(递推) …
- HDU 2547 无剑无我
- HDU 2078 复习时间
- HDU 1491 Octorber 21st
- HDU 1219 AC Me
- arm-linux-gcc&nbsp;常用参数讲解&nbsp;gcc编…
- hdu 1434 幸福列车
- hdu 1391 Number Steps
- 堆排序 hdu 2020 绝对值排序
- hdu 1005
- HDU&nbsp;4280&nbsp;Island&nbsp;Transport(网络…
- HDU:2069 Coin Change
- Hdu 2457 DNA repair (字符串_AC自…
- HDU 1879 继续畅通工程
- HDU 1028 Ignatius and the Princ…
- HDU 2853 Assignment(KM匹配)
- gcc 参数 -I -L用法(转载)
- HDU 2401 Baskets of Gold Coins
- HDU 2076 夹角有多大(题目已修改,…
- HDU 1405 The Last Practice