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;
} 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

  • 解决打不开SQL Server配置管理器的问题[通俗易懂]

    解决打不开SQL Server配置管理器的问题[通俗易懂]最近被SqlServer搞得贼烦,下了俩次SQLSERVER,重装了一次系统,先对这次遇到的问题发一下感慨:深深地意识到权限的重要性了,一般计算机里面的软件都有不同的访问权限,普通用户(Users)、管理员(Administrators)、SYSTEM等等,以不同的身份去对这个软件进行操作时,就会有不同的访问权限,一般Administrator的权限是最大的 1)安…

  • ArrayDeque in Java[通俗易懂]

    ArrayDeque in Java[通俗易懂]ArrayDequeinJavaArrayDequeinJavaprovidesawaytoapplyresizable-arrayinadditiontotheimplementationoftheDequeinterface.ItisalsoknownasArrayDoubleEndedQueueorArrayDeck.Thi…

  • win10下使用anaconda安装pytorch和torchvision

    win10下使用anaconda安装pytorch和torchvision一、系统配置以及软件版本1、操作系统:win102、显卡:NVIDIAGeForceGTX1070Ti3、cuda_9.0.176_win10链接:https://pan.baidu.com/s/1f9MowahErE9u60LO1MOcPw提取码:5k2c4、cudnn-9.0-windows10-x64-v7.1链接:https://pan.baidu.com/s/1MGe…

  • 腾讯收购冰川网络_冰河是谁

    腾讯收购冰川网络_冰河是谁应朋友的邀约,不久前去腾讯交流学习了。这次的收获还是蛮大的,今天,跟小伙伴们分享下这次去腾讯交流和学习的体会。

  • 51单片机流水灯电路以及C代码「建议收藏」

    51单片机流水灯电路以及C代码「建议收藏」流水灯是51单片机的入门级实验,以下是其电路图以及C代码流水灯proteus电路图此图发光二极管采用共阳极式连接流水灯C代码#include&amp;amp;amp;amp;amp;amp;amp;amp;lt;reg51.h&amp;amp;amp;amp;amp;amp;amp;amp;gt;voiddelay1s(unsignedcharn);voidMovinglight(){ unsignedcharcodeMovinglightA

  • python字符串拼接

    python字符串拼接Python字符串拼接在Python的实际开发中,很多都需要用到字符串拼接,python中字符串拼接有很多,今天总结一下:用+符号拼接用%符号拼接用join()方法拼接用format()方法

发表回复

您的电子邮箱地址不会被公开。

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