C#輾轉相除法求最大公約數與最小公倍數
阿新 • • 發佈:2019-01-09
class Program
{
static void Main(string[] args)
{
int num1, num2, mm;
Console.WriteLine(“請輸入第一個數:”);
num1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“請輸入第二個數:”);
num2 = Convert.ToInt32(Console.ReadLine());
mm = GCD(num1,num2);
Console.WriteLine(“最大公約數為:{0} 最小公倍數為:{1}”,mm,num1*num2/mm);
Console.ReadKey();
}
static int GCD(int m,int n ){
int r,t;
if(m<n){
t=n;
n=m;
m=t;
}
while(n!=0){
r = m % n;
m = n;
n = r;
}
return (m);
}
}
1、(m>n)非負數,m%n餘數為r;
2、r=0;結束;否則(3)
3、m=n;n=r;轉到(1)