using System;
using System.Collections.Generic;
using System.Text;namespace test3
{
class Program
{
static void Main()
{
int a, b;
int z=1;
Console.WriteLine("请输入两个正整数:");
if (int.TryParse(Console.ReadLine(), out a) && int.TryParse(Console.ReadLine(), out b))
{
if (a > b)
{
Cmth.swap(ref a, ref b);
for (int i = a; i < 0; i--)
{
if (a % i == 0 && b % i == 0)
{
z = i;
break;
}
else
{
Console.WriteLine("没有公约数!");
}
}
}
Console.WriteLine("最大公约数为:{0}", z);
Console.WriteLine("最大公倍数为:{0}", a * b / z);
}
}
}
public class Cmth
{
public int x;
public int y;
public static void swap(ref int a,ref int b)
{
int temp = a;
a = b;
b = temp;
}
}
}//我输出4,6怎么结果不对啊,晕了!
using System.Collections.Generic;
using System.Text;namespace test3
{
class Program
{
static void Main()
{
int a, b;
int z=1;
Console.WriteLine("请输入两个正整数:");
if (int.TryParse(Console.ReadLine(), out a) && int.TryParse(Console.ReadLine(), out b))
{
if (a > b)
{
Cmth.swap(ref a, ref b);
for (int i = a; i < 0; i--)
{
if (a % i == 0 && b % i == 0)
{
z = i;
break;
}
else
{
Console.WriteLine("没有公约数!");
}
}
}
Console.WriteLine("最大公约数为:{0}", z);
Console.WriteLine("最大公倍数为:{0}", a * b / z);
}
}
}
public class Cmth
{
public int x;
public int y;
public static void swap(ref int a,ref int b)
{
int temp = a;
a = b;
b = temp;
}
}
}//我输出4,6怎么结果不对啊,晕了!
for (int i = a; i < 0; i--)
{
if (a % i == 0 && b % i == 0)
{
z = i;
break;
}
else
{
Console.WriteLine("没有公约数!");
}
}
将for (int i = a; i < 0; i--)改成for (int i = a; i > 0; i--)
int z=1;
Console.WriteLine("请输入两个正整数:");
if (int.TryParse(Console.ReadLine(), out a) && int.TryParse(Console.ReadLine(), out b))
{
if (a > b)
{
Cmth.swap(ref a, ref b);
}
for (int i = a; i > 0; i--)
{
if (a % i == 0 && b % i == 0)
{
z = i;
break;
}
}
Console.WriteLine("最大公约数为:{0}", z);
Console.WriteLine("最小公倍数为:{0}", a * b / z);
}测试如下:请输入两个正整数:
4
6
最大公约数为:2
最小公倍数为:12