0
点赞
收藏
分享

微信扫一扫

1.判断一个数能否同时被3和5整除 2. 求俩个数m和n的最大公约数

闲鱼不咸_99f1 2022-01-31 阅读 84
c语言c++

1.判断一个数能否同时被3和5整除



 2.求俩个数m和n的最大公约数

算法①:从1开始遍历,最后的公约数即是最大公约数

int main()
{
	int m, n;
	scanf("%d%d",&m,&n);
	int tmp = 1;//保存公约数
	int min = m <= n ? m : n;//m和n较小值
	for (int i = 2; i <= min; i++)
	{
		if (m % i == 0 && n % i == 0)
			tmp = i;
	}
	printf("最大公约数=%d\n", tmp);
	return 0;
}

算法②:从大到小遍历,则第一个公约数即是最大公约数

int main()
{
	int m, n;
	scanf("%d%d",&m,&n);
	int tmp = 1;
	int min = m <= n ? m : n;
    for (int i = min; i >= 1; i--)
	{
		if (m % i == 0 && n % i == 0)
		{
			tmp = i;
			break;//跳出一层循环
		}
	}
	printf("最大公约数=%d\n", tmp);
	return 0;

算法③:辗转相除法,todo 最优秀的算法

举报

相关推荐

0 条评论