欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

给定两个数,求这两个数的最大公约数

程序员文章站 2022-07-15 08:39:13
...

给定两个数,求这两个数的最大公约数
代码(vs2013):

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int Two(int a, int b)
{
	if (a < b)
	{
		int t;
		t = a;
		a = b;
		b = t;
	}
	for (int i = b; i>0; i--)
	{
		if (a%i == 0 && b%i == 0)
		{
			printf("这两数的最大公因数为:%d\n", i);
			break;
		}
	}
}

int main()
{
	int a, b;
	printf("请输入两整数:\n");
	scanf("%d%d", &a, &b);
	Two(a, b);
	return 0;
}

分析:两个数的最大公约数就是能被两个数同时整除的最大数,所以让这两个数同时先除以小的这个数(min)如果两数都能除尽,说明两数的最大公约数就位它,否则再让这两个数除以(min-1),直到同时都除尽,此时min就为这两数的最大公约数。