408 - Uniform Generator

题目:408 - Uniform Generator


题目大意:就是给你一个增量a和模数b,问你这个数能根据上面给的公式产生0 ~b-1的数吗?


解题思路:就是问给出的a 和 b 除1以外还有公因子吗?有的话不能产生上述的数。没有就可以。因为一旦有公因数, 从0开始加a,因为有公因子n(n> 1),这样的话,a* n == b,说明从0 开始总会到b,这样在模b,余数就又是0.这样就又来一次。而且因为这种有除1以外的因子的增量一定不是1,所以中间会漏掉一些数。注意a, b 没有给大小关系。而且每个输出要有一个空白行,这个没做也是WA。


#include<stdio.h>

int step, mod;
int main() {

	while(scanf("%d %d", &step, &mod) != EOF) {
		
		int i;
		for( i = 2; i <= step && i <= mod ; i++) {
			if(step % i == 0 && mod % i == 0)
				break;
		}
		if(step % i == 0 && mod % i == 0)
			printf("%10d%10d    Bad Choice\n\n", step, mod);
		else
			printf("%10d%10d    Good Choice\n\n", step, mod);

	}
	return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值