Function f( n ) is recursively defined as:
f( n ) = f(n-1) + f(n-3), n > 3
f( n ) = n, n <= 3
Write a program to calculate f( n ) modulo m.
n <= 10000, 2 <= m <= 10000.
Hint
If n is a negative number, use (n % m + m) % m to calculate n modulo m.
Input
There are multiple test cases. Each test case consists of two integers: n and m. n = 0 and m = 0 denotes the end of input, and you should not process this case.
Output
For each test case, print f( n ) modulo m in a single line.
Sample Input
1 2
10000 999
0 0Sample Output
1
433
雾雨 (2007-11-16 10:03:18)
帮我用C语言编 用数据什么的吧
Function f( n ) is recursively defined as:
f( n ) = f(n-1) + f(n-3), n > 3
f( n ) = n, n <= 3
Write a program to calculate f( n ) modulo m.
n <= 10000, 2 <= m <= 10000.
Hint
If n is a negative number, use (n % m + m) % m to calculate n modulo m.
Input
There are multiple test cases. Each test case consists of two integers: n and m. n = 0 and m = 0 denotes the end of input, and you should not process this case.
Output
For each test case, print f( n ) modulo m in a single line.
Sample Input
1 2
10000 999
0 0Sample Output
1
433