资源描述
题目1------
用c语言编写求两个数的最大公约和最大公倍数
分析:二种情况 1 两个数存在倍数关系(两个数有公约数)
2 两个数没有公约数
需要注意的问题:1 最大公约数和最小公倍数的计算方法
2 显示的问题
#include<stdio.h>
/*
判断两个数的最大公约数和最小公倍数
两种情况: 存在倍数关系 非倍数关系(有没有公约数的) 三种情况(显示)
*/
void main()
{
int n,m,k,i,p=1;
scanf("%d,%d",&n,&m);
if(n%m==0||m%n==0) //存在倍数关系时的最大公倍数和最小公约数
{
if(n%m==0)
{
printf("max gongyue is %d\n",m);
printf("min gongbei is %d\n",n);// 计算结果
}
else
{
printf("max gongyue is %d\n",n);
printf("min gongbei is %d\n",m);
}
}
else
{
if(m>n) k=n;
else k=m; //取最小值
for(i=2;i<=k;i++)
{
if((m%i==0) && (n%i==0))// 计算方法
{
p*=i;
m/=i;
n/=i;
k/=i;
i=1;
}
}
{
if(i==(k+1)) //判断有没有最大公约数
{
printf("max gongyue is N0\n");
printf("min gongbei is %d\n",m*n);
}
else
{
printf("max gongyue is %d\n",p);
printf("min gongbei is %d\n",m*n*p);
}
}
}
}
展开阅读全文