用c语言求m和n的最大公约数

求m和n的最大公约数
#include<stdio.h>
int main()
{
int m,n,r,a;
scanf("%d%d",&m,&n);
if(m<n)
{
a=m;
m=n;
n=a;
}
while (m%n!=0)
{
m=n;
n=r;
r=m%n;
}
printf("%d\n",n);
return 0;
}

找错
输入4 6
输出2.。。。

#include<stdio.h>
int main()
{
    int m,n,r;
    scanf("%d%d",&m,&n);
r=m%n;//先算出一个余数
    while (r!=0) //当r不是0时循环
    {
        m=n;
        n=r;
        r=m%n;
    }
    printf("%d\n",n);
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-20
没有对r进行初始化,而且4和6最大的公约数就是2追问

4 5
2

第2个回答  2015-01-20
r没有初始化

C语言编程:输入两个正整数m和n,求它们的最大公约数。
{ int m,n;scanf("%d%d",&m,&n);printf("%d\\n",gcd(m,n));return 0;}

c语言,求两个数m和n的最大公约数的流程图。
1、判断m能否被n整除,如果能,则最大公约数就是n。2、k=m-n。比较n和k,假设n大,k小。m=n; n=k; 重复第1步骤。直到m能被n整除为止。include "stdio.h" \/\/包含头文件 main(){ int m,n,i,min; \/\/定义变量 printf("Please Input n and m:\\n"); \/\/打印这句话 scanf("%d%d"...

c语言中m、 n的最大公因数是多少?
它们的最大公约数:3 它们的最小公倍数:6

c语言,求两个数m和n的最大公约数的流程图。
1、判断m能否被n整除,如果能,则最大公约数就是n。如果不能则进行下一步骤。2、k=m-n。比较n和k,假设n大,k小。m=n; n=k; 重复第1步骤。直到m能被n整除为止。编程:int big_divisor(int m, int n){ int min,max,k=m;do { max=MAX(k,n);min=MIN(k,n);m=max;n=min;k=...

C语言求两个数m、n的最大公约数。(带注释)
m = n,n = a,继续求余 否则(即若a为0)n 为最大公约数 gcd(int a,int b){ int t;if (a < b)t=a,a=b,b=t;if (b == 0)return a;else t= a%b;while (t!= 0){ a=b;b=t;t=a%b;} return b;} main(){ int a,b;printf("输入两个数字:");scanf("%d%d",&a...

怎样用C语言程序编程实现m和n的最大公约数和最小公倍数,用do-while循环...
从键盘接收两个int型整数m和n,先求出最大公约数,再由"m\/最大公约数*n"来求得最小公倍数。代码如下:include "stdio.h"int main(int argc,char *argv[]){int m,n,g;printf("Input m & n(int m,n>0)...\\n");if(scanf("%d%d",&m,&n)!=2 || m<1 || n<1){\/\/输入两...

C语言编程:输入两个正整数m和n,求它们的最大公约数。
printf("他们的最大公约数是%d",num1); } tatsucad | 发布于2008-11-26 举报| 评论 1 4 \/\/这种方法更简单,算法上运行效率更高,本人试过inline int gcd(int m,int n){while(m!=n) { if(m>n) m-=n; if(m<n) n-=m; }return m;}下面调用gcd(,)函数就ok了 qiull1988 | 发布于...

c语言程序设计,输入两个正整数m和n,求其最大公约数和最小公倍数?
int a,b,num1,num2,temp;printf("please input two number:\\n");scanf("%d%d",&num1,&num2);if(num1<num2){ temp = num1;num1 = num2;num2 = temp;} a = num1;b = num2;while(b!=0){ temp = a%b;a=b;b=temp;} printf("gongyueshu:%d\\n",a);printf("gongbeishu...

C语言求M,N的最大公因数如何来写这个算式
给你一个我写的程序,自己看看吧~ 很简单的。include<stdio.h> void main(){ int M=32,N=40;int min,i,data;min=M>N?N:M;for(i=1;i<=min;i++){ if((M%i==0)&&(N%i==0))data=i;} printf("%d",data);}

C语言题目,输入两个正整数m和n,求其最大公约数和最小公倍数
最大公约数:(辗转相除法)调整顺序使m>=n 循环 m=m%n; 如果m=0,则n为最大公约数,跳出循环。注:%表示取余运算。n=n%m; 如果n=0,则m为最大公约数,跳出循环。next 求出最大公约数G后,用m*n\/G得到最小公倍数。

相似回答