用C语言编程,求两个数m和n的最大公约数!(将步骤说明下谢谢)
2个回答
展开全部
#include "stdio.h" //包含头文件
main()
{
int m,n,i,min; //定义变量
printf("Please Input n and m:\n"); //打印这句话
scanf("%d%d",&n,&m); //输入n和m的值
min=n>m?m:n; //条件运算符,判断n、m那个最小,并将最小值赋给变量min
for(i=min;;i--) //从最小值起循环,每次减一
if(n%i==0&&m%i==0) //当循环到某一值的时候,n和m都能被i整除,即i为最小公约数
break; //当i为最大公约数时,退出循环
printf("common divisor: %d\n",i); //打印最大公约数
}
顺便说下,当知道最大公约数时,最小公倍数=(m)乘以(n)除以(最大公约数)
如果对你有所帮助,请记得采纳最佳答案,谢谢!
main()
{
int m,n,i,min; //定义变量
printf("Please Input n and m:\n"); //打印这句话
scanf("%d%d",&n,&m); //输入n和m的值
min=n>m?m:n; //条件运算符,判断n、m那个最小,并将最小值赋给变量min
for(i=min;;i--) //从最小值起循环,每次减一
if(n%i==0&&m%i==0) //当循环到某一值的时候,n和m都能被i整除,即i为最小公约数
break; //当i为最大公约数时,退出循环
printf("common divisor: %d\n",i); //打印最大公约数
}
顺便说下,当知道最大公约数时,最小公倍数=(m)乘以(n)除以(最大公约数)
如果对你有所帮助,请记得采纳最佳答案,谢谢!
展开全部
//用到可辗转相除法
#include <stdio.h>
int main()
{
int m,n; //定义俩个变量
int temp; //中间变量
scanf("%d%d",&m,&n);//读取两个变量的值
while(m%n!=0)//循环求最大公约数
{
temp=n;
n=m%n;
m=temp;
}
printf("%d\n",n); //打印出最大公约数
return 0;
}
#include <stdio.h>
int main()
{
int m,n; //定义俩个变量
int temp; //中间变量
scanf("%d%d",&m,&n);//读取两个变量的值
while(m%n!=0)//循环求最大公约数
{
temp=n;
n=m%n;
m=temp;
}
printf("%d\n",n); //打印出最大公约数
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询