📄 zp1278_1.cpp
字号:
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include <iostream>
using namespace std;
int a[10000000];
int main(int argc, char* argv[])
{
int z,i,l,m,mb,p,k,j,f,g,s,t=1;
cin>>z>>i>>m>>l;
while (z || l || i ||m)
{
z%=m;
l%=m; i%=m;
p=(l*z-l+i)%m;
mb=m;
while (p%mb)
{
g=p; p=mb; mb=g%mb;
}
m/=mb;
f=1;g=1;
s=1;
a[1]=1;
while (f)
{
g*=z;
g%=m;
f+=g;
f%=m;
s++;
a[s]=f;
if (s%2)
{
k=0;
for (j=1;j<=s/2;j++)
if (a[j]!=a[j+s/2])
{ k=1;break; }
if (!k)
{ s/=2;break; }
}
}
cout<<"Case "<<t<<": "<<s<<endl;
cin>>z>>i>>m>>l;
t++;
}
return 0;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -