C语言程序设计教程(第三版)课后习题6.1

C语言程序设计教程(第三版)课后习题6.1
语言学习从菜鸟开始

描述

输入两个正整数m和n,求其最大公约数和最小公倍数。

输入
两个整数

输出
最大公约数,最小公倍数

输入样例 1

5 7
输出样例 1

1 35
解题思路:1.最大公因数,我们要判断谁才是最小那个数,然后以该数字为循环变量的初始值,一直递减,直到能被a,b两个数整除的数,结束。
2.最小公倍数,我们要知道哪一个才是最大值,然后以最大值为循环变量的初始值,一直递增直到a,b都被整除的那个数为止。
(我经常犯的一个错误,就是最后打印,第一个打印要留一个空格,笔者经常忘记)

#include
int main()
{
	int temp,a,b;
  	scanf("%d%d",&a,&b);
  	if(a>b)
    {
    	temp = a;
      	a = b;
      	b = temp;
    }
  	//求最大公因数
  	for(int i = a;i>=0;i--)
    {
    	if(a%i==0&&b%i==0)
        {
        	printf("%d ",i);
          	break;
        }
    }
  	//求最小公倍数
  	temp = a*b;
  	for(int i = b ;i<= temp;i++)
    {
    	if(i%a==0&&i%b==0)
        {
        	printf("%d",i);
          	return 0;
        }
    }
}

感谢每一位看到这里的大佬,如有错误请指出,感谢!

你可能感兴趣的:(C语言,c语言,程序设计)