C语言:任意输入两个整数mn,求它们的最大公约数和最小公倍数,如果m或n小于等于零则输出ERROR

C语言:任意输入两个整数mn,求它们的最大公约数和最小公倍数,如果m或n小于等于零则输出ERROR急(ಥ_ಥ)

#include <stdio.h>
int gcd(int a,int b) //最大公约数
{
 int r=a%b; 
 while(r){
  a=b;
  b=r;
  r=a%b;
  }
 return b;
}
int lcm(int a,int b) //最大公倍数:两数乘积=最小公倍数与最大公约数乘积
{
return a*b/gcd(a,b);
}
int main()
{
int a,b;

  scanf("%d%d",&a,&b);
  if(a<=0||b<=0)
  printf("error\n");
  else
  printf("最大公约数:%d\n最小公倍数:%d\n",gcd(a,b),lcm(a,b));

  return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言:任意输入两个整数mn,求它们的最大公约数和最小公倍数,如果m或n...
else printf("最大公约数:%d\\n最小公倍数:%d\\n",gcd(a,b),lcm(a,b)); return 0;}

用C程序编写:输出两个正整数m和n,求其最大公约数和最小公倍数。
我给楼主说下思路:先输入两个整数,然后判断两数的大小,用大的数对小的取模,然后小的数自减直到余数为0,这个时候小的数就是两数的最大公约数,然后将输入的两个数相乘再除以做大公约数,得到的结果就是最小公倍数

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。用C语言编程
如果余数r2=0,那么r1就是所求的最大公约数3。为什么呢?因为如果2)式变成了b=r1q2,那么b1r1的公约数就一定是a1b的公约数。这是因为一个数能同时除尽b和r1,那么由l)式,就一定能整除a,从而也是a1b的公约数。反过来,如果一个数d,能同时整除a1b,那么由1)式,也一定能整除r1,从而...

c语言,输入俩个正整数n和m,求其最大公约数和最小公倍数
include<stdio.h>void main(){int a,b,i;scanf("%d %d",&a,&b);for(i=a+b;i>1;i--){if(a%i==0&&b%i==0){printf("最大公约数为%d,最小公倍数为%d\\n",i,a*b\/i);return 0;}}printf("最大公约数为1,最小公倍数为%d\\n",a*b);return 0;} 给你来个最简单的吧 ...

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

输入两个正整数N和M,求最大公约数和最小公倍数?高手帮忙呀!用C语言
分析:求最大公约数的算法思想:(最小公倍数=两个整数之积\/最大公约数) (1) 对于已知两数m,n,使得m>n; (2) m除以n得余数r; (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4); (4) m←n,n←r,再重复执行(2)。 例如: 求 m=14 ,n=6 的最大公约数....

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

输入2个整数,求最大公约数,最小公倍数。用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,res;\/*...

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,求其最大公约数和最小公倍数。
输入两个正整数m和n,求其最大公约数和最小公倍数。解:程序:include <stdio.h> int main(){ int num1, num2, t,p;printf("请输入两个正整数:");scanf("%d,%d", &num1, &num2);\/\/7,8 p = num1*num2;while (t = num1%num2)\/\/7 1 0,循环结束 { num1 = num...

相似回答