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/archive/2010/02/03/1662400.html,如需转载请自行联系原作者