gpt4 book ai didi

c# - 在 C# 中化简分数

转载 作者:太空狗 更新时间:2023-10-30 00:34:26 24 4
gpt4 key购买 nike

我制作了一个可以加减分数的控制台应用程序,我添加了一个函数来简化:

    public static Numbers Add(Numbers n1, Numbers n2)
{
int den1;
int num1;
int num2;
int dsimp;
int nsimp;
int numtop;
num1 = n1.Numerator * n2.Denominator;
num2 = n2.Numerator * n1.Denominator;
den1 = n1.Denominator * n2.Denominator;
numtop = num2 + num1;

if (numtop == 0)
{
return new Numbers(0);
}
if (numtop % n1.Denominator == 0)
{
nsimp = numtop / n1.Denominator;
dsimp = den1 / n1.Denominator;
return new Numbers(nsimp, dsimp);

}

else
{
return new Numbers(numtop, den1);
}
}

当我输入 1/2 + 4/8 时,它按照我告诉它的方式完美地简化了它,但是,它给了我 8/8。这需要简化为 1/1。我如何才能将已经简化的东西简化到尽可能低的分数?

最佳答案

将分子和分母除以 GCD (greatest common divisor)分子和分母。

例如:

从 12/8 开始。 GCD 为 4。因此为 3/2。

关于c# - 在 C# 中化简分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7582884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com