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

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

//判断一个数是否能同时被2和5整除
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int a;
	scanf("%d", &a);
	if (a % 2 == 0 && a % 5 == 0)
	{
		printf("%d能同时被2和5整除", a);
	}
	else
	{
		printf("%d不能可以同时被2和5整除", a);
	}
	return 0;
}


 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 最优秀的算法

上一篇:创建一个List集合,并存放10个随机数,然后排序该集合 * 后输出


下一篇:C++ 类与对象 运算符重载