/* Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission (s): 2646 Accepted Submission (s): 810
Problem Description
The 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
Input
The 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.
Output
Output the answer of (0! + 1! + 2! + 3! + 4! +... + N !) % M.
Constrains
0 <T <= 20
0 <= n <10 ^ 100 (without leading zero)
0 <m <1000000
Sample Input
1
10 861017
Sample Output
593846
*/
[Html]
# Include <stdio. h>
# Include <stdlib. h>
# Include <string. h>
Char n [2, 1010];
_ Int64 m;
Int main ()
{
_ Int64 num, sum = 0;
Int I, T, m, k;
Scanf ("% d", & T );
While (T --)
{
Scanf ("% s % d", n, & m );
If (strlen (n)> = 7)
K = m;
Else
K = atoi (n );
Num = 1, sum = 1;
For (I = 1; I <= k; I ++)
{
Num = (num * I) % m;
Sum = (sum + num) % m;
}
Printf ("% I64d \ n", sum % m );
}
Return 0;
}
Author: xieqinghuang