重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
创新互联公司专注于历城网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供历城营销型网站建设,历城网站制作、历城网页设计、历城网站官网定制、微信小程序开发服务,打造历城网络公司原创品牌,更为您提供历城网站排名全网营销落地服务。
int main()
{
int a,b,c,m,t;
printf("请输入两个数:\n");
scanf("%d%d",a,b);
if(ab)
{
t=a;
a=b;
b=t;
}
m=a*b;
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
printf("最大公约数是:\n%d\n",b);
printf("最小公倍数是:\n%d\n",m/b);
}
扩展资料
算法思想
利用格式输入语句将输入的两个数分别赋给 a 和 b,然后判断 a 和 b 的关系,如果 a 小于 b,则利用中间变量 t 将其互换。
再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其输出。
#includestdio.h是在程序编译之前要处理的内容,称为编译预处理命令。编译预处理命令还有很多,它们都以“#”开头,并且不用分号结尾,所以是c语言的程序语句。
#includestdio.h
int gcd(int a,int b) //求最大公倍数
{
int m,n,r;
m=a=b?a:b; //m保存较大数
n=ab?a:b; //n保存较小数
r=m%n; //求余数
while(r!=0) //循环相除
{
m=n;
n=r;
r=m%n;
}
return n;
}
int lcm(int a,int b) //求最小公倍数
{
int t=gcd(a,b); //获取最大公约数
return (a*b)/t; //返回最小公约数
}
int main()
{
int a,b;
printf("输入两个整数:");
scanf("%d%d",a,b);
printf("最小公倍数:%d\n",lcm(a,b));
return 0;
}
c语言求最小公倍数的方法如下:
1、找到a,b中的较大值,假设是最小公倍数,然后去整除,不能整除就++,直到找到最小公倍数为止。
#includestdio.h
int main()
{int a,b;
scanf("%d,%d",a,b);
int m=(ab?a:b);
while(1)
{if (m%a==0m%b==0)
{
break;
}
m++;
}
printf("%d\n",m);
2、使a*i%b==0成立的a*i即为最小公倍数,i=0,i++,由a*i,a*i一定可以被a整除,由%b,a*i一定可以被b整除。
#includestdio.h
int main()
{int a,b;
scanf("%d,%d",a,b);
int i=1;
while(1)
{if(a/i%b==0)
{
break;
}
i++;
}
printf("%d\n",a*i);
}
3、先求a,b最大公约数c,再a*b/c即为最小公倍数。
#includestdio.h
int main()
{int x,y,z;
z=0;
scanf("%d,%d",x,y);
z=x%y;
int m=x;
int n=y;
while (z)
{
x=y;
y=z;
z=x%y;
}
printf("%d",m*n/y);
}
#includestdio.h
int gcd(int m, int n);
int lcd(int m, int n);
int main()
{
int a, b;
printf("输入两个正整数:");
scanf("%d%d", a, b);
printf("%d 和 %d 最大公约数为%d\n", a, b, gcd(a, b));
printf("最小公倍数为:%d\n", lcd(a, b));
}
int gcd(int m, int n)
{
int t;
if (mn)
{
t = m;
m = n;
n = t;
}
while (n != 0)
{
t = m%n;
m = n;
n = t;
}
return m;
}
int lcd(int m, int n)
{
int t;
t = m*n / gcd(m, n);
return t;
}