2381.txt
来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 41 行
TXT
41 行
#include <stdio.h>
#include <string.h>
char b[16000002];
int main()
{
unsigned long a,m,c,r;
memset(b,0,sizeof(b));
scanf("%lu%lu%lu%lu",&a,&c,&m,&r);
while(1)
{
r=(a*r+c)%m;
if(b[r])
break;
else b[r]=1;
}
long i,max=0,last=0;
for(i=0;i<16000002;i++)
if(b[i])
break;
last=i++;
for(;i<16000002;i++)
{
if(b[i])
{
// printf("%lu ",i);
if(i-last>max)
{
max=i-last;
}
last=i;
}
}
printf("%lu",max);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?