📄 1987.c
字号:
/* This Code is Submitted by icycandy for Problem 1987 on 2008-11-10 at 16:28:53 *//*ID:zhaoxin 密码:********* */
#include <stdio.h>
#include <stdlib.h>
/*递归函数公式*/
int f(int n,int m)
{
int k[10001]={0,1,2,3};
int p;
for (p=4;p<n+1;p++)
{
k[p]=k[p-1]%m+k[p-3]%m;
}
return k[n];
}
/*输入n、m 求f(n)对m的模。分类:n<0 / n>3 / n<=3&&n>0讨论*/
int main()
{
int x,y,n,m;
scanf("%d%d",&n,&m);
if (m&&n)
{
while (1)
{
if (n<0)
{
printf ("%d\n",(((n%m)+m)%m));
}
else if (n>=0)
{
if (n<=3)
{
x=n%m;
printf("%d\n",x);
}
if (n>3)
{
x=f(n,m);
y=x%m;
printf("%d\n",y);
}
}
scanf("%d %d",&n,&m);
if (n==0&&m==0)
break;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -