c语言,输入俩个正整数n和m,求其最大公约数和最小公倍数
7个回答
展开全部
# include <stdio.h>
# include <math.h>
int main()
{
int m, n, i = 0, c = 0;
printf("m=");
scanf_s("%d", &m);
printf("n=");
scanf_s("%d", &n);
if (m > n)
{
for (i = m;i > 0;i--)
{
if (m % i == 0 && n % i == 0) break;
}
printf("两个数的最大公约数为:%d", i);
}
else
{
for (i = n; i > 0;i--)
{
if (m % i == 0 && n % i == 0) break;
}
printf("两个数的最大公约数为:%d", i);
}
if (m > n)
{
for (c = m;c < 30000;c++)
{
if (c % m == 0 && c % n == 0) break;
}
printf("两个数的最小公倍数为:%d", c);
}
else
{
for (c = n;c < 30000 ;c++)
{
if (c % m == 0 && c % n == 0) break;
}
printf("两个数的最小公倍数为:%d", c);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{ int w,t,n,m,z,p;
scanf("%d%d",&n,&m);
w=n*m; while(m!=0)
{ if(n<m)
{ p=n; n=m; m=p; }
t=n%m;
n=m;
m=t;
}
z=w/n;
printf("最大公约数是:%d\n最小公倍数是:%d",n,z);
return 0;
}
int main()
{ int w,t,n,m,z,p;
scanf("%d%d",&n,&m);
w=n*m; while(m!=0)
{ if(n<m)
{ p=n; n=m; m=p; }
t=n%m;
n=m;
m=t;
}
z=w/n;
printf("最大公约数是:%d\n最小公倍数是:%d",n,z);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdafx.h>
int main()
{
int m, n, min, i, k,max;
scanf_s("%d%d", &m, &n);
if (m < n)min = m,max=n;
else min = n,max=m;//确定数的大小
for (i = min; i >= 1; i = i - 1)
{
if (min%i == 0 && max%i == 0)break;
}
printf("最大公约数:%d\n", i);
for (k = 1; k >= 1; k++)
{
i = k*max;
if (i % min == 0) break;
}
printf("最小公倍数:%d\n",i);
}
int main()
{
int m, n, min, i, k,max;
scanf_s("%d%d", &m, &n);
if (m < n)min = m,max=n;
else min = n,max=m;//确定数的大小
for (i = min; i >= 1; i = i - 1)
{
if (min%i == 0 && max%i == 0)break;
}
printf("最大公约数:%d\n", i);
for (k = 1; k >= 1; k++)
{
i = k*max;
if (i % min == 0) break;
}
printf("最小公倍数:%d\n",i);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询