📄 zp2105_a.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include <iostream.h>
int main(int argc, char* argv[])
{
int a,b,n,i;
int p[10][10][55];
for (a=0;a<7;a++)
for (b=1;b<7;b++)
if (a || b)
{
p[a][b][1]=1; p[a][b][2]=1;
p[a][b][3]=(a+b)%7;
i=3;
while (!( p[a][b][i-1]==1 && p[a][b][i]==1 ))
p[a][b][++i]=(a*p[a][b][i-1]+b*p[a][b][i-2])%7;
i-=2;
p[a][b][0]=i;
}
for (a=1;a<7;a++)
{
p[a][0][1]=1; p[a][0][2]=1;
p[a][0][3]=a;
i=3;
while (p[a][0][i]!=1)
p[a][0][++i]=(a*p[a][0][i-1]+0*p[a][0][i-2])%7;
i-=2;
p[a][0][0]=i;
}
for (a=0;a<7;a++)
for (b=0;b<7;b++)
cout<<p[a][b][0]<<' ';
cin>>a>>b>>n;
while (a+b+n)
{
a%=7; b%=7;
if (!a && !b)
if (n<3)
cout<<1;
else
cout<<0;
else
if (!b)
if (n==1)
cout<<1;
else
{
n--; n%=p[a][0][0];
if (n==0) n=p[a][0][0];
n++;
cout<<p[a][0][n];
}
else
{
n%=p[a][b][0];
if (n==0) n=p[a][b][0];
cout<<p[a][b][n];
}
cout<<endl;
cin>>a>>b>>n;
}
return 0;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -