输入两个正整数,求出他们的最大公约数,用while怎么写??

供稿:hz-xin.com     日期:2025-01-13
用while语句输入两个正整数,求其中最大公约数和最小公倍数

#includestdio.h>int main(){ int m,n,r,tm,tn; scanf("%d %d", &m,&n ); //输入两个数 tm=m; tn=n; if(m<n){ r=m; m=n; n=r;//交换m,n } r=m%n; while(r){ m=n; n=r; r=m%n; } printf("最大公约数n=%d最小公倍数=%d
", n, tm*tn/n ); return 0;}

用下面的函数,返回就是两个数a和b的最大公约数:
Function test(a%, b%)Dim x% x = a + b a = IIf(a > b, a, b) b = x - a While a Mod b > 0 x = a a = IIf(b > a - b, b, a - b) b = x - a Wend test= bEnd Function

#include<stdio.h>
int main()
{
    int a,b,num1,num2,temp;
    printf("Input a & b:");
    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("The GCD of %d and %d is: %d
",num1,num2,a); /*输出最大公约数*/
    return 0;
}


输入俩个正整数m和n,输出它们的最小公倍数和最大公约数 c语言
"%d",&m);printf("input n:");scanf("%d",&n);}while(m<0||n<0);j=m;while(j%n!=0) \/\/这里应该是取余运算,不是除法。为0表示,j刚好被n整除j=j+m; \/\/每次加m保证j被m整除k=(m*n)\/j;printf("最小公倍数是%d\\n最大公约数是%d\\n",j,k);return 0;} ...

求两个正整数m和n的最大公约数
【说明】求最大公约数和最小公倍数的算法是常用算法;但在教材中并没有给出,希望读者在 学有余力的情况下,能掌握这两个算法。求两个正整数的最小公倍数的算法在教材中也没有给出,下面给出求最小公倍数的一种算法。设有两个正整数m、n,求它们的最小公倍数的算法如下:①若m<n,则交换...

输入两个正整数m和n,求其中最大公约数和最小公倍数。不要代码,用自然语...
① 得到输出m,n ② 辗转相除法求出m,n的最小公倍数a;③ 最大公约数为m*n\/a 其实就这么简单撒~

输入两个正整数m和n,输出它们的最小公倍数和最大公约数。
include<stdio.h> int main(){ 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...

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。用C语言编程...
输入两个正整数m和n, 求其最大公约数和最小公倍数.<1> 用辗转相除法求最大公约数 算法描述:m对n求余为a, 若a不等于0 则 m <- n, n <- a, 继续求余 否则 n 为最大公约数 <2> 最小公倍数 = 两个数的积 \/ 最大公约数 include int main(){ int m, n;int m_cup, n_cup...

.输入两个正整数m和n,求其最大公约数和最小公倍数。
第五次:用15除30,商2余0。1515和600的最大公约数是15。两个正整数的最小公倍数=两个数的乘积÷两个数的最大公约数 由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。这就是说,求两个数的最小公倍数,可以先求出两个数的最大公约数,再用这两个数的最大公约数去除这两...

[C语言]编程:输入两个正整数,求其最大公约数和最小公倍数
include<stdio.h> int main(){ int m, n;int gcd, lcm;scanf("%d%d", &m, &n);gcd = m < n ? m : n;lcm = m > n ? m : n;do { if(m % gcd == 0 && n%gcd==0)break;gcd--;}while(1);do { if(lcm % m == 0 && lcm % n==0)break;lcm++;}while(1)...

c语言编程,输入两个正整数,输出其最大公约数和最小公倍数,for循环完成...
include<stdio.h>main(){ int m,n,i,m1,n1; while(1){ scanf("%d%d",&m,&n); m1=m;n1=n;i=m1%n1; for(;i!=0;){ m1=n1; n1=i; i=m1%n1; } printf("最大公约数 = %d\\n",n1); printf("最小公倍数 = %d\\n",m*n\/n1);}}如图...

输入两个正整数m和n,求其最大公约数和最小公倍数
int temp = Math.Max(n1, n2);n2 = Math.Min(n1, n2);\/\/n2中存放两个数中最小的 n1 = temp;\/\/n1中存放两个数中最大的 while(n2!=0){ n1 = n1 > n2 ? n1 : n2;\/\/使n1中的数大于n2中的数 int m=n1 % n2;n1 = n2;n2 = m;} System.out.println(n1);\/\/最大公约数 ...

如何用计算机C语言编程:输入两个正整数,输出它们的最小公约数和最大公 ...
include int main(){ int m,n;int m_cup,n_cup,res;\/*被除数,除数,余数*\/ printf("Enter two integer:\\n");scanf("%d d",&m,&n);if (m > 0 && n >0){ m_cup = m;n_cup = n;res = m_cup n_cup;while (res != 0){ m_cup = n_cup;n_cup = res;res = m_...