这题其实是判断两个数是否互质。
当然也可以暴力破解。
- //
- // main.cpp
- // UniformGenerator_hdu1014
- //
- // Created by Alps on 14/12/27.
- // Copyright (c) 2014年 chen. All rights reserved.
- //
- #include <iostream>
- using namespace std;
- //void judge(int a, int b){
- // int c = 0;
- // int seed[100000] = {0};
- // while (1) {
- // c = (c + a)%b;
- // if (seed[c] == 0) {
- // seed[c] = 1;
- // }else{
- // int i = 0;
- // for (i = 0; i < b; i++) {
- // if (seed[i] == 0) {
- // printf("%10d%10d Bad Choice\n\n",a,b);
- // break;
- // }
- // }
- // if (i == b) {
- // printf("%10d%10d Good Choice\n\n",a,b);
- // }
- // break;
- // }
- // }
- //}这个是暴力破解的方法
- int judge(int a, int b){
- if (0 == b) {
- return a;
- }
- return judge(b, a%b);
- }//辗转相除的办法判断互质
- int main(int argc, const char * argv[]) {
- int a,b;
- while (scanf("%d %d",&a ,&b) != EOF) {
- if(judge(a, b) == 1){
- printf("%10d%10d Good Choice\n\n",a,b);
- }else{
- printf("%10d%10d Bad Choice\n\n",a,b);
- }
- }
- return 0;
- }
//
// main.cpp
// UniformGenerator_hdu1014
//
// Created by Alps on 14/12/27.
// Copyright (c) 2014年 chen. All rights reserved.
//
#include <iostream>
using namespace std;
//void judge(int a, int b){
// int c = 0;
// int seed[100000] = {0};
// while (1) {
// c = (c + a)%b;
// if (seed[c] == 0) {
// seed[c] = 1;
// }else{
// int i = 0;
// for (i = 0; i < b; i++) {
// if (seed[i] == 0) {
// printf("%10d%10d Bad Choice\n\n",a,b);
// break;
// }
// }
// if (i == b) {
// printf("%10d%10d Good Choice\n\n",a,b);
// }
// break;
// }
// }
//}这个是暴力破解的方法
int judge(int a, int b){
if (0 == b) {
return a;
}
return judge(b, a%b);
}//辗转相除的办法判断互质
int main(int argc, const char * argv[]) {
int a,b;
while (scanf("%d %d",&a ,&b) != EOF) {
if(judge(a, b) == 1){
printf("%10d%10d Good Choice\n\n",a,b);
}else{
printf("%10d%10d Bad Choice\n\n",a,b);
}
}
return 0;
}