首页 > 代码库 > 最大公约数与最小公倍数(低效)

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

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\n最小公倍数=%d\n",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;}

 

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