350 - Pseudo-Random Numbers

/*

表示这不是一道数学题。。。

*/

#include<stdio.h>
int num[100000];
int main()
{
 long i,j,Z,L,I,M,flag,Case=1;
 while(scanf("%ld%ld%ld%ld",&Z,&I,&M,&L)!=EOF)
 {
  if(Z==0&&I==0&&M==0&&L==0)
   break;
  num[0]=L;
  flag=0;
  for(i=1;flag==0;i++)
  {
   num[i]=(num[i-1]*Z+I)%M;
   for(j=0;j<i;j++)
    if(num[i]==num[j])
    {
     flag=1;
     break;
    }
  }
  printf("Case %ld: %ld\n",Case++,i-j-1);
 }
 return 0;
}

你可能感兴趣的:(Random)