题解:将种子设为0,然后通过题目的公式算出新的种子,再次带入,直到找到种子的周期,看这个周期是不是包含了所有从0到mod - 1的所有数,如果是就是good 否则就是bad.

#include <iostream>
#include <cstdio>
using namespace std;

int main() {
	int step, mod, seed, flag, n;
	while (scanf("%d%d", &step, &mod) != EOF) {
		seed = flag = n = 0;
		while (1) {
			flag++;
			seed = (seed + step) % mod;
			if (seed == n)
				break;
		}
		if (flag == mod)
			printf("%10d%10d    Good Choice\n\n", step, mod);
		else
			printf("%10d%10d    Bad Choice\n\n", step, mod);
	}
	return 0;
}