2016-08-12
UVA - 408 Uniform Generator
題目大意:給出 step 和 mod,根據 seed(x+1)=[seed(x)+step]%10mod,問產生的隨機數是否均勻分佈於 0 到 mod-1。
解題思路:判斷2個數是不是互質,用輾轉相除法就好了。
#include <iostream>
#include <cstdio>
using namespace std;
int gcd(int x, int y) {
if (y == 0)
return x;
else
return gcd(y, x % y);
}
int main() {
int n, m;
while ( ~scanf("%d%d", &n, &m) ) {
printf("%10d%10d ", n, m);
if (gcd(n,m) == 1)
printf("Good Choice\n");
else
printf("Bad Choice\n");
printf("\n");
}
return 0;
}