精华内容
下载资源
问答
  • 本文实例讲述了Python自定义函数实现求两个数最大公约数最小公倍数。分享给大家供大家参考,具体如下:1. 求最小公倍数的算法:最小公倍数 = 两个整数的乘积 / 最大公约数所以我们首先要求出两个整数的最大公约数, ...

    本文实例讲述了Python自定义函数实现求两个数最大公约数、最小公倍数。分享给大家供大家参考,具体如下:

    1. 求最小公倍数的算法:

    最小公倍数 = 两个整数的乘积 / 最大公约数

    所以我们首先要求出两个整数的最大公约数, 求两个数的最大公约数思路如下:

    2. 求最大公约数算法:

    ① 整数A对整数B进行取整, 余数用整数C来表示 举例: C = A % B

    ② 如果C等于0,则C就是整数A和整数B的最大公约数

    ③ 如果C不等于0, 将B赋值给A, 将C赋值给B ,然后进行 1, 2 两步,直到余数为0, 则可以得知最大公约数

    3. 程序代码实现如下:

    #!/usr/bin/env python

    # coding:utf-8

    def fun(num1, num2): # 定义一个函数, 两个形参

    if num1 < num2: # 判读两个整数的大小,目的为了将大的数作为除数,小的作为被除数

    num1, num2 = num2, num1 # 如果if条件满足,则进行值的交换

    vari1 = num1 * num2 # 计算出两个整数的乘积,方便后面计算最小公倍数

    vari2 = num1 % num2 # 对2个整数进行取余数

    while vari2 != 0: # 判断余数是否为0, 如果不为0,则进入循环

    num1 = num2 # 重新进行赋值,进行下次计算

    num2 = vari2

    vari2 = num1 % num2 # 对重新赋值后的两个整数取余数

    # 直到 vari2 等于0,得到最到公约数就退出循环

    vari1 /= num2 # 得出最小公倍数

    print("最大公约数为:%d" % num2) # 输出

    print("最小公倍数为:%d" % vari1) # 输出

    fun(6, 9)

    运行结果:

    最大公约数为:3

    最小公倍数为:18

    运行结果截图:

    2018521115647553.png?201842111571

    PS:这里再为大家推荐一款本站相关在线工具供大家参考:

    希望本文所述对大家Python程序设计有所帮助。

    展开全文
  • C语言:求两个数最大公约数和最小公倍数

    万次阅读 多人点赞 2019-06-19 16:31:03
    C语言:求两个数最大公约数和最小公倍数 求两个数最大公约数:“辗转相除法”: 设两为ab(a>b),用a除以b,得a÷b=商…余数,若余数为0 ,则最大公约数为b;若余数不为0 ,则再用b÷余数, 得b÷余数=商1...

    C语言:求两个数的最大公约数和最小公倍数

    求两个数的最大公约数:“辗转相除法”:
    设两数为a和b(a>b),用a除以b,得a÷b=商…余数,若余数为0 ,则最大公约数为b;若余数不为0 ,则再用b÷余数,
    得b÷余数=商1…余数1,若余数1=0,则最大公约数为余数,若余数1不为0,继续让商÷余数n,一直到能够余数为零
    这时的除数即最大公约数。
    求两个数的最小公倍数:
    最小公倍数=两数的乘积÷最大公约数

    #include <stdio.h>
    #define MAX(a,b) (a>b)?a:b
    #define MIN(a,b) (a<b)?a:b
    int main()
    {
    	int a,b;
    	int yu;
    	int m,n;
    	printf("input two numbers:\n");
    	scanf("%d,%d", &m, &n);
    	a =MAX(m,n);
    	b= MIN(m,n);
    	while (a%b != 0)
    	{
    		yu = a%b;
    		a = b;
    		b = yu;
    	 }
    	printf("最大公约数为:%d\n", b);
    	printf("最小公倍数为:%d",m*n/b);
    	return 0;
    }
    
    展开全文
  • 1. /* ... 3. * All rights reserved.... 4. * 作 者: 吕建 5. * 完成日期: 2012 年 11 月 27 日 ...6. * 版 本 号: v1.0 ...8. * 问题描述: 调用函数求最大公约数和最小公倍数 9. * 程序输出: 略 10
    1.	/*  
    2.	 * Copyright (c) 2012, 烟台大学计算机学院  
    3.	* All rights reserved.  
    4.	* 作    者: 吕建
    5.	* 完成日期: 2012 年 11 月 27 日
    6.	* 版 本 号: v1.0
    7.	* 输入描述: 无
    8.	* 问题描述: 调用函数求最大公约数和最小公倍数
    9.	* 程序输出: 略
    10.	* 问题分析: 略
    11.	* 算法设计: 略
    12.	*/
    
    #include <iostream>
    using namespace std;
    int main()
    {
    	int hcf(int ,int );
    	int lcd(int ,int ,int );
    	int u,v,l,k;
    	cout<<"请输入两个整数:";
    	cin>>u>>v;
    	l=hcf (u,v);
    	k=lcd (u,v,l);
    	cout<<"HCF="<<l<<endl;
    	cout<<"LCD="<<k<<endl;
    	return 0;
    }
    int hcf(int u,int v)
    {
    	int t,r;
    	if(u>v)
    	{
    		t=u;
    		v=u;
    		v=t;
    	}
    	while((r=v%u)!=0)
    	{
    		v=u;
    		u=r;
    	}
    	
    	return u;
    	
    }
    
    int lcd(int u,int v,int l)
    {
    	return (u*v/l);
    }

    展开全文
  • 主要介绍了Python自定义函数实现求两个数最大公约数最小公倍数,结合实例形式分析了Python求解两个数最大公约数最小公倍数相关原理与算法实现技巧,需要的朋友可以参考下
  • 求两个正整数a,b的最大公约数p和最小公倍数q。 最原始的方法是,p初始化为min(a, b),这里假设a  然后检测p能否同时整除a,b,是则停止循环,  否则令p -= 1,继续检测 对于q,则将其初始化为max(a,b) = b, 则...

    求两个正整数a,b的最大公约数p和最小公倍数q。

    最原始的方法是,p初始化为min(a, b),这里假设a < b,则p = a,

                                  然后检测p能否同时整除a,b,是则停止循环,

                                  否则令p -= 1,继续检测

    对于q,则将其初始化为max(a,b) = b, 则q = b,

                                  检测q能否同时被a和b整除,是则停止循环,

                                  否则令q += 1,继续检测

    可以看出这样计算效率很低,耗时大,简单的方法是采用欧几里德算法来求最大公约数,而利用(a * b) / p来求最小公倍数。

    辗转相除法---欧几里德算法

    以计算(1397,2413)的最大公约数为例:

    以大数2413为被除数,以小数1397为除数,相除得:商为1,余数为1016

    以大数1397为被除数,以小数1016为除数,相除得:商为1,余数为381

    以大数1016为被除数,以小数381为除数,相除得:商为2,余数为254

    以大数381为被除数,以小数254为除数,相除得:商为1,余数为127

    以大数254为被除数,以小数127为除数,相除得:商为2,余数为0

    直到能整除,则127就是最大公约数

    数学证明:

    b = as + r (0 <= r <= b -1),

    若r=0, 显然最大公约数为a;

    若r != 0, 由于b = as + r, 每个能整除a,r的整数都能整除b,则它能同时整除a,b

                   又,r = b - as, 每个能整除a,b的整数都能整除r,则能整除a,r

    因此,a,b的最大公约数和a,r的最大公约数相等。

    do{
          r = b % a;
          b = a;
          a = r;
    }while(!r)
         


    递归的算法:

     

    void gcd(int a, int b)
    {
        int m;
        if (a > b)
            return gcd(b, a);
        if (b % a != 0)
            return gcd(a, b % a);
        else
            return a;
    }


    展开全文
  • 本文实例讲述了Python自定义函数实现求两个数最大公约数最小公倍数。分享给大家供大家参考,具体如下:1. 求最小公倍数的算法:最小公倍数 = 两个整数的乘积 / 最大公约数所以我们首先要求出两个整数的最大公约数, ...
  • 主要介绍了Python基于递归非递归算法求两个数最大公约数最小公倍数,涉及Python递归算法、流程循环控制进行数值运算相关操作技巧,需要的朋友可以参考下
  • 求两个数最大公约数和最小公倍数
  • 技术支持课的程序 /* * Copyright (c) 2011, 烟台大学计算机学院 * * All rights reserved. * * 作 者: 王锴英 * * 完成日期:2012 年10 ...* 输入描述:输入两个正整数 * 问题描述:略
  • 问:求两个数最大公约数最小公倍数 解题思路: 我们不断地尝试会发现最大公约数最小公倍数的规律:两个数的乘积 / 最大公约数 = 最小公倍数 因此,我们的代码有如下设计过程: 代码示例: #define _...
  • 今天参加腾讯笔试,做编程题时在最小公倍数最大公约数这些这么简单的知识点上卡壳了,...3、求两个数最小公倍数两个数最小公倍数与它们的最大公约数之间存在如下关系: 某两个数a,b的最小公倍数=(a*b)/a与b...
  • 两个数最大公约数和最小公倍数

    千次阅读 2017-10-21 17:11:18
    输出两个正整数mn,出这两个数最大公约数和最小公倍数 分析:两个必然会有一大一小,比较出来,用for循环来处理小的那个数,找出最大公约数,进而最小公倍数package com.math.forth;import java.util....
  • 求两个数最大公约数和最小公倍数工具
  • f几2,计算并输出这两个数最大公约数和最小公倍数d测试要点:离定义,调用,返回值的使用] 这个也不用解释太多,直接看代码就能明白,不明白的请留言! #include<stdio.h> int fn1(int x,int y); in...
  • 求两个数最大公约数和最小公倍数 最小公倍数=(i + j)/最大公约数 i = int(raw_input('请输入第一个:')) j = int(raw_input('请输入第二个:')) num_min = min (i,j) 最小值 for n in range(1,num_min+1...
  • 题目:求两个正整数的最大公约数和最小公倍数。 基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出。 提高要求:1.三种以上算法解决两个正整数最大公约数问题。...
  • N个最大公约数最小公倍数求解首先在输入数据时应该是无限的,用一个for循环实现。其次用一种算法写出求解两个数最大公约数最小公倍数,我选择辗转相除法。最后是N个的结果,可以想到用for循环递归调用...
  • 其计算原理依赖于:两个整数的最大公约数等于其中较小的那个数和相除余数的最大公约数最大公约数(Greatest Common Divisor)缩写为GCD。 即可表示为gcd(a,b) = gcd(b,a mod b)。 二、求最小公倍数 最小公...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,066
精华内容 8,026
关键字:

求两个数的最大公因数和最小公倍数