スロットマシーンであたりを引くまで最低何回やればいいか、みたいな内容だった気がする。
#include
#include
using namespace std;
vectorreal;
int main(void)
{
int N , A , B , C , X;
while (1) {
cin >> N >> A >> B >> C >> X;
if (N == 0 && A == 0 && B == 0 && C == 0 && X == 0) {
break;
}
real.clear();
for (int i = 0 ; i < N ; i++) {
int temp;
cin >> temp;
real.push_back(temp);
}
int count = 0;
for (int i = 0 ; i < real.size() ;) {
if (X == real[i]) {
i++;
if (i == real.size()) {
break;
}
}
X = (A * X + B) % C;
count++;
if (count > 10000) {
count = -1;
break;
}
}
cout << count << endl;
}
return 0;
}
0 件のコメント:
コメントを投稿