zoukankan      html  css  js  c++  java
  • C# 求俩个正整数的最小公倍数和最大公约数

    C# 求俩个正整数的最小公倍数和最大公约数

    1.公倍数、最小公倍数

    两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数

    翻开小学5年级下册PPT

    1.1介绍

    常用办法

    1、列举法

       例如:求6和8的最小公倍数。

       6的倍数有:6,12,18,24,30,36,42,48,……

       8的倍数有:8,16,24,32,40,48,……

       6和8的公倍数:24,48,……其中24是6和8的最小公倍数。

       这种方法是先分别写出各自的倍数,再找出它们的公倍数,然后在公倍数里找出它们的最小公倍数。

    2、分解质因数法。

       我们也可以利用分解质因数的方法,比较简便地求出两个数的最小公倍数。

       例如:求60和42的最小公倍数。

    60=2×2×3×5   42=2×3×7

    60和42的最小公倍数=2×3×2×5×7=420 。

    这种方法是把60和42分别质因数后,观察相同的质因数只取一个(如2,3),把各自独有的质因数全部乘进去,所得的积就是这两个数的最小公倍数。

    3、短除法。

      用短除法求18和24的最小公倍数。

    2      18      24     …………先同时除以公因数2

        3   9      12    …………再同时除以公因数3

            3       4    ……除到两个商只有公因数1为止。

    把所有的除数和最后的两个商连乘,得到:18和24的最小公倍数是2×3×3×4=72,可表示为[18,24]=2×3×3×4=72。

    用短除法求两个数的最小公倍数,一般都用这两个数除以它们的公因数,一直除到所得的两个商只有公因数1为止。把所有的除数和最后的两个商连乘起来,就得到这两个数的最小公倍数。

    2.公约数、最大公约数

    2.1介绍

    公约数,亦称“公因数”。它是一个能被若干个整数同时均整除的整数。如果一个整数同时是几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数。

    翻开小学5年级下册PPT 约数和公约数,最大公约数

     2.2 最小公倍数和最大公约数关系

    两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积。

    3.C#代码实现

    代码:

     1     class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             int n = GetMinimumCommonMultiple(3, 5);
     6             System.Console.WriteLine("3,5最小公倍数为:" + n.ToString());
     7             n = GetMinimumCommonMultiple(2, 4);
     8             System.Console.WriteLine("2,4最小公倍数为:" + n.ToString());
     9 
    10 
    11             int numb = GetGreatestCommonDivisor(4, 8);
    12             System.Console.WriteLine("4,8最大公约数为:" + numb.ToString());
    13             numb = GetGreatestCommonDivisor(3, 15);
    14             System.Console.WriteLine("3,15最大公约数为:" + numb.ToString());
    15 
    16 
    17 
    18             System.Console.Read();
    19         }
    20 
    21 
    22         /// <summary>
    23         /// //最大公约数 
    24         /// </summary>
    25         static int GetGreatestCommonDivisor(int a, int b)
    26         {
    27             if (a < b)
    28             {
    29                 a = a + b;
    30                 b = a - b;
    31                 a = a - b;
    32             }
    33             return (a % b == 0) ? b : GetGreatestCommonDivisor(a % b, b);
    34         }
    35 
    36         /// <summary>
    37         /// //最小公倍数 
    38         /// </summary>
    39         static int GetMinimumCommonMultiple(int a, int b)
    40         {
    41             return a * b / GetGreatestCommonDivisor(a, b);
    42         }
    43     }

    4.程序测试

  • 相关阅读:
    织梦dedecms模板中调用wordpress文章
    dede标签云(TAG)随机颜色及大小的实现方法
    将dedecms数据转换到wordpress博客程序中的方法分享
    织梦dedecms模板中友情链接标签底层模板样式调整
    织梦dede增加自定义属性四步实现
    dedecms专题分节点自由单独调用的实现方法
    DedeCMS 批量取消审核文档的实现方法
    织梦dedecms 5.1 utf-8版本英文修改方法
    织梦dedecms后台自定义字段里添加style全部都变成st<x>yle的解决教程
    Android 获取第三方软件的包名、入口Activity的类名
  • 原文地址:https://www.cnblogs.com/JiYF/p/10138422.html
Copyright © 2011-2022 走看看