YTU OJ problem2003问题 C: C语言实验——最小公倍数和最大公约数

题目描述

从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。

输入

输入包括一行。 两个以空格分开的正整数。

输出

两个整数的最小公倍数和最大公约数。

输入输出样例

样例输入 #1

复制

6 8

样例输出 #1

复制

24 2

 *************************************************************************************************************

由题可知,此题求最大公约数和最小公倍数。

首先,无论是最大公约数还是最小公倍数,判断两个数的大小,实现FOR循环。

最小公倍数:根据常理,任何两个数的最大公约数无非就是两个数的乘积,因此for循环的限制条件小于等于MAX*MIN;

最大公约数最大也无非是MIN,所以从for循环min逐渐减少;

FOR循环的限制条件知道后用IF判断一下,printf就行了

上代码 

#include
int main()
{
   int a=0;
   int b=0;
   int i=0;
   scanf("%d %d",&a,&b);
   int min=a;
   int max=b;
   if(bmax)
   {
       max=a;
   }int c=min*max;
   int j=0;
   for(j=1;j0;i--)
   {
       if(min%i==0&&max%i==0)
       {
           printf("%d ",i);
           break;
       }
   }
    return 0;
}

 就是无脑解法啦,想要简单的看别的大神吧,能力有限,在于分享哈哈

你可能感兴趣的:(c语言,开发语言)