最大公约数与最小公倍数(低效)

Q:输入两个整数a,b,输出它们的最大公约数与最小公倍数。要求使用子函数。

S:

#include<stdio.h>
int maxC(int a,int b);//返回最大公约数
int minC(int a,int b);//返回最小公倍数 
int main()
{
	int a,b;
	int max,min;
	scanf("%d%d",&a,&b);
	max=maxC(a,b);
	min=minC(a,b);
	printf("最大公约数=%d
最小公倍数=%d
",max,min);
	return 0;
}
int maxC(int a,int b)
{
	int temp;
	int i;
	int result;
	if(a<b)//保证b比a小 
	{
		temp=a;
		a=b;
		b=temp;
	}
	for(i=b;i>=1;i--)
	{
		if(b%i==0&&a%i==0)
		{
			result=i;
			break;
		}
	}
	return result;
}
int minC(int a,int b)
{
	int temp;
	int i;
	int result;
	if(a>b)//保证b比a大 
	{
		temp=a;
		a=b;
		b=temp;
	}
	for(i=b;i<=a*b;i++)
	{
		if(i%b==0&&i%a==0)
		{
			result=i;
			break;
		}
	}
	return result;
}
原文地址:https://www.cnblogs.com/LegendLa/p/4271566.html