zoukankan      html  css  js  c++  java
  • 求最大公约数和最小共倍数的方法(除穷举)

    求最小共倍数:

    最小共倍数=两数的成绩÷最大公约数。

    求最大公约数:

    1. 辗转相除法
    2. 相减法

    辗转相处:

    有两整数a和b:

    ① a%b得余数c

    ② 若c=0,则b即为两数的最大公约数

    ③ 若c≠0,则a=b,b=c,再回去执行①

    例如求27和15的最大公约数过程为:

    27÷15 余1215÷12余312÷3余0因此,3即为最大公约数

    #include<bits/stdc++.h>
    using namespace std;
    int main(){//  辗转相除法求最大公约数 
        int a,b,c;
        scanf("%d%d",&a,&b);
        int m=a,n=b;
        while(c!=0){// 余数不为0,继续相除,直到余数为0 
            c=a%b;
            a=b;
            b=c;
        }
        printf("The largest common divisor:%d
    ",a);//注意这里不是b,因为跳出循环时b已经是c了
        printf("The least common multiple:%d",m*n/a);
        return 0;
    }

    相减法:

    有两整数a和b:

    ① 若a>b,则a=a-b

    ② 若a<b,则b=b-a

    ③ 若a=b,则a(或b)即为两数的最大公约数

    ④ 若a≠b,则再回去执行①

    例如求27和15的最大公约数过程为:

    27-15=12( 15>12 ) 15-12=3( 12>3 )

    12-3=9( 9>3 ) 9-3=6( 6>3 )

    6-3=3( 3==3 )

    因此,3即为最大公约数

    #include<bits/stdc++.h>
    using namespace std;
    int a,b;
    int main(){
        scanf("%d%d",&a,&b);
        int m=a,n=b;
        while(a!=b){
            if(a>b)a=a-b;
            if(a<b)b=b-a;
        }
        printf("The largest common divisor:%d
    ",a);
        printf("The least common multiple:%d",m*n/a);
        return 0;
    }

    洛谷小题:

    #include<bits/stdc++.h>
    using namespace std;
    int x,y;
    int ans;
    int gcd(int a,int b){//求最大公约数
        //if(a<b)swap(a,b);
        if(a%b==0)return b;
        if(a==b)return b;
        return gcd(b,a%b);
    }
    
    int lcm(int a,int b){//求最小共倍数
        return a*b/gcd(a,b);
    }
    
    int main(){
        scanf("%d%d",&x,&y);
        for(int i=x;i<=y;i++){
            int j=x*y/i;
            if(gcd(i,j)==x&&lcm(i,j)==y){
                ans++;
            }
        }
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    centos7 mysql 数据库备份与还原
    Centos 7 搭建wordpress
    Centos 7 安装 mysql5.7
    linux 搭建php网站许愿墙
    GNOME桌面的安装
    cetnos 7 ntp服务的安装与配置
    Tornado初探
    Mysql报错 Cannot load from mysql.proc
    zabbix install
    PYPY_GC
  • 原文地址:https://www.cnblogs.com/LightyaChoo/p/13226840.html
Copyright © 2011-2022 走看看