HDU 1014 [Uniform Generator]

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1014

题目大意:

有Step和Mod两个数可以生成循环序列:0、Step %Mod、2Step%Mod、3Step%Mod……。

给出这两个数,问能否使生成的序列中包含0、1、2、……Mod-1.若能就格式化输出Good Choice,否则格式化输出Bad Choice

关键思想:当且仅当生成元互质时能输出完整序列。

代码如下

//生成元互质,注意输出格式 
#include <iostream>
using namespace std;
//最大公约数为1即互质
int gcd(int a,int b){
	return a%b==0?b:gcd(b,a%b);
}

int main(){
	int step,mod;
	while(cin>>step>>mod)
		if(gcd(step,mod)==1)printf("%10d%10d    Good Choice\n\n",step,mod);
		else printf("%10d%10d    Bad Choice\n\n",step,mod);
	return 0;
} 

  

    原文作者:哇咔咔咔
    原文地址: https://www.cnblogs.com/G-M-WuJieMatrix/p/6405848.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞