C++求最大公约数和最小公倍数

C++求最大公约数和最小公倍数方法一:辗转相除法   用"较大数"除以"较小数",再用"较小数"除以"第一余数",再用“第一余数”除以 “第二余数",   如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。#include<stdio.h>#include<stdlib.h>#include&a

大家好,又见面了,我是你们的朋友全栈君。

方法一:辗转相除法

     用 “较大数” 除以 “较小数”,再用 “较小数” 除以 “第一余数”,再用“第一余数”除以  “第二余数”,

     如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

C++求最大公约数和最小公倍数

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
	int a,b;
	//while(scanf("%d,%d",&a,&b)!=EOF)//这样写有问题,a*b 所得值不对,好像是地址值
	while((cin>>a>>b)!=NULL)
	{
		if(a<b)//大数放在前面
		{
			int temp=a;
			a=b;
			b=temp;
		}
		int gcd=0; //Greatest Common Divisor 最大公约数;  
		int lcm=a*b; // Lowest Common Multiple 最小公倍数; 
		
		int t=0;
		while(b!=0)
		{
			t=a%b;
			a=b;
			b=t;
		}
		gcd=a;
		lcm=lcm/gcd;
		//cout<<gcd<<" "<<lcm<<endl;
		printf("%d %d\n",gcd,lcm);
	}
	return 0;
}

方法二:更相减损法

       “较大数” 减 “较小数”,循环,当两数相同时,相同的数即为“最大公约数”

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <iostream>
using namespace std;

int main()
{
    int a,b;
    while((cin>>a>>b)!=NULL)
    {
        int gcd=0; //Greatest Common Divisor 最大公约数; 
        int lcm=a*b; // Lowest Common Multiple 最小公倍数; 
        while(a!=b){
            if(a>b){a-=b;}else{b-=a;}
        }    
        gcd=a;
        lcm=lcm/gcd;
        printf("%d %d\n",gcd,lcm);
    }
    return 0;
} 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145574.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • bootstrap-fileinput使用手册

    bootstrap-fileinput使用手册一、准备1、插件下载地址:https://github.com/kartik-v/bootstrap-fileinput/下载后的压缩包解压文件夹内容如下:  js:插件核心js代码,引用fileinput.min.js/fileinput.js即可,默认插件语言为英文,如需要中文需要引用js/locales/zh.js(其他语言引用相应的js文件) …

    2022年6月7日
    27
  • com QueryInterface「建议收藏」

    com QueryInterface「建议收藏」客户同组件的交互都是通过一个接口完成的。在客户查询组件的其他接口时,也是通过接口完成的。这个接口就是IUnknown。它在UNKNWN.H头文件定义 :如下

    2022年7月22日
    7
  • mac sh文件_android获取apk位置

    mac sh文件_android获取apk位置在嵌入百度地图SDK的时候需要配置“发布版SHA1”和“开发版SHA1”,这两个是不一样的。这里是基于mac电脑,开发工具androidstudio.1、首先打开Terminal窗口,会直接定位到当前的目录下。2、获取开发版的sha1,直接输入命令,获取到sha1:keytool-list-v-keystore~/.android/debug…

    2022年8月10日
    3
  • Delphi 教程

    Delphi 教程1.点击Project->View Source 可以看到工程的代码program Project1;uses  Forms,  Unit1 in ‘Unit1.pas’ {Form1};{$R *.res}begin  Application.Initialize;  Application.CreateForm(TForm1, Form1);

    2022年6月29日
    53
  • 全面认识MOS管,一篇文章就够了

    全面认识MOS管,一篇文章就够了一篇文章,彻底掌握mos管!

    2022年6月16日
    73
  • sqlserver中类型decimal

    sqlserver中类型decimaldecimal(18,0)18是定点精度,0是小数位数。decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从0到a之间的值。默认小数位数是0。

    2022年7月20日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号