#include <stdio.h>
int PseRand(int Z, int I, int M, int L)
{
return (Z * L + I) % M;
}
int main()
{
int Z, I, M, L, caseNum = 1;
while (1)
{
scanf("%d %d %d %d", &Z, &I, &M, &L);
if (Z == 0 && I == 0 && M == 0 && L == 0) break;
int isTrue[10000] = {0}, len[10000] ;
printf("Case %d: ", caseNum++);
int count = 0;
while (!isTrue[L])
{
isTrue[L] = 1, len[L] = count ++;
L = PseRand(Z, I, M, L);
}
printf("%d\n", count - len[L]);
}
return 0;
}
回目錄
回首頁
沒有留言 :
張貼留言