c#入门,求最大公约数与最小公倍数

2008-04-10 13:59

/*
1、求两个正整数的最大公约数与最小公倍数
【提示】:
(1)求两个非负正数m和n(要求m>n)的最大公约数可以使用辗转相除法。其算法描述为:
1)m除以n得到的余数为r(0<=r<n);
2)若r=0则算法结束,n为最大公约数。否则转3);
3)m=n,n=r,转1);

*/
using System;

namespace ConsoleApplication2
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
   private static void gys(int m,int n)
   {
    int p,q;
    p = m;
    q = n;
    int gr,gb;
    while(true)
    {
     if(p%q==0)
     {
      gr = q;
      break;
     }
     else
     {
      int r = p%q;
      p = q;
      q = r;
     }
    }
            gb = m*n/gr;
    Console.WriteLine("最大公约数是:{0},最小公倍数{1}",gr,gb);
   }
   /// <summary>
   /// 应用程序的主入口点。
   /// </summary>
   [STAThread]
   static void Main()
   {
    int m,n;
    Console.WriteLine("正输入整数m");
    m = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("输入正整数n");
    n = Convert.ToInt32(Console.ReadLine());
    if(m<=n)
    {
     Console.WriteLine("要求m>n");
     Main();
    }
    else
    {
     gys(m,n);
    }
    Console.ReadLine();

   }
  
}
}


作者:玄魂
出处:http://www.cnblogs.com/xuanhun/
原文链接:http://www.cnblogs.com/xuanhun/ 更多内容,请访问我的个人站点 对编程,安全感兴趣的,加qq群:hacking-1群:303242737,hacking-2群:147098303,nw.js,electron交流群 313717550。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
关注我:关注玄魂的微信公众号

原文地址:https://www.cnblogs.com/xuanhun/p/1662400.html