static void Main(string[] args)
{
while(true)
{
Console.WriteLine("请输入两个数并用“/”隔开");
string num = Console.ReadLine();
string[] nums = num.Split('/');
int a = Convert.ToInt32(nums[0]);
int b = Convert.ToInt32(nums[1]);
int[] c = getnewnum(a,b);
string newnum=c[0]+"/"+c[1];
Console.WriteLine("{0}的最简分数为{1},最大公约数为{2}", num, newnum,c[2]);
// Console.ReadLine();
}
}
public static int[] getnewnum(int a,int b)
{
int yue=1;//定义最大公约数
int min = a < b ? a : b;//得到最小数
for (int i = min; i > 0; i--)//从最小数开始作为除数
{
if (a % i == 0 && b % i == 0)//如果两个数能同时被整除则此时的除数为最大公约数
{
yue = i;
break;//得到最大公约数后就跳出循环
}
}
int[] newnum = { a / yue, b / yue ,yue};//定义数组存储最简分数
return newnum;
} |