gpt4 book ai didi

java - 在Java中如何将假分数转换为带分数?

转载 作者:行者123 更新时间:2023-12-02 01:31:35 24 4
gpt4 key购买 nike

我正在尝试使用 ccc j4 或 s2 参加 2002 年挑战赛。我目前有一个简化分数的函数,但它给出了一个带分数。该函数的输出是一个字符串,我想我需要另一个函数将其转换为带分数。任何帮助,将不胜感激。谢谢!

这是我用于转换的函数:

public static long gcm(long a, long b) {
return b == 0 ? a : gcm(b, a % b);
}

public static String asFraction(long a, long b) {
long gcm = gcm(a, b);
return (a / gcm) + "/" + (b / gcm);
}

它输出一个假分数,但我想要一个带分数。我怎样才能得到这个?附:英语不是我的母语。

最佳答案

由于这是挑战的一部分,因此我不会提供确切的答案,但我重点关注的是:带分数是一个整数后跟一个真分数。你有一个不恰当的分数。如何将假分数转换为带分数?

让我们举一个简单的例子,比如11/4。我们如何将其写成带分数?我们会写 2 3/4,因为:

  • 2 是小于 11/4 的最大整数。
  • 2 是 8/4,剩下 3/4 为真分数。
  • 因此整数部分为 2,真分数为 3/4,这就是答案。

因此,给定一个假分数 n/d,获得带分数的一种方法是采用 k = Floor[n/d],然后返回 k + (n - kd)/d

希望有帮助!

关于java - 在Java中如何将假分数转换为带分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55988032/

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