zoukankan      html  css  js  c++  java
  • 求最大公约数和最小公倍数

      学习C++入门级的题目,求最大公约数和最小公倍数,这里介绍两种求最大公约数的方法,即辗转相除法和辗转相减法。辗转相除法的原理自行百度,辗转相减法的原理就是只要两数不想等就用大数减小数,直至相等,求最小公倍数的方法就是用两数的乘积除以最大公约数。

    #include<iostream>
    using namespace std;
    int maxf(int a,int b)//辗转相减法
    {
    	while(a != b)
    	{
    		if(a > b)
    			return a = a - b;
    		else
    			return b = b - a;
    	}	
    }
    int maxff(int a ,int b)辗转相除法
    {
    	int r;
    	if(a < b)
    	{
    		r = a;
    		a = b;
    		b = r;
    	}
    	if(a % b == 0)
    		return b;
    	else
    		return maxff(b ,a % b);
    	
    }
    int main()
    {
    	int a,b;
    	while(cin>>a>>b)
    	{
    		cout<<maxff(a,b)<<" "<<(a * b)/maxf(a,b)<<endl;输出最大公约数和最小公倍数
    		cout<<maxff(a,b)<<" "<<(a * b)/maxff(a,b)<<endl;
    	}
    	return 0;
    }
    

      

      

  • 相关阅读:
    行编辑
    二叉树
    多项式乘法
    引用标准库查看当前目录
    双向链表
    哈希表查找
    perl模块
    顺序栈实现
    C#中访问注册表
    查看perl的版本、配置和库信息
  • 原文地址:https://www.cnblogs.com/coderchuanyu/p/4174885.html
Copyright © 2011-2022 走看看