目录
问题内容
解决方法
首页 Java 如何在 Java 中编写一个函数来检查一个数字是否是另一个数字的幂?

如何在 Java 中编写一个函数来检查一个数字是否是另一个数字的幂?

Feb 22, 2024 pm 01:20 PM

php小编柚子为您带来Java编程问题解答:如何在Java中编写一个函数来检查一个数字是否是另一个数字的幂?编写这样的函数将有助于您在Java程序中快速准确地判断数字之间的倍数关系,为您的编程工作提供便利。在本文中,我们将探讨如何使用Java语言编写这样一个函数,并给出详细的代码实现和示例说明。让我们一起来深入了解吧!

问题内容

我编写了一个布尔函数,用于检查整数 m 是否是 n 的幂。但我的代码不正确。例如,625 是 5 的幂。但我的代码返回 false。

public static boolean isPower(int m, int n) {
  if (m <= n) {
    return false;
  }
  int pow = n;
  while (pow <= m) {
    pow = n * pow;
    if (pow == m) {
      return true;
    }
    pow++;
  }
  return false;
}
登录后复制

解决方法

  • 评论中指出了您的解决方案中的一个错误。
  • 您的代码也无法很好地处理 m = 1 的情况。
  • 对于大多数输入,以下方法可以减少迭代次数:
// for n, m > 0
static boolean isPower(int m, int n) {
    while (m % n == 0) {
        m /= n;
    }
    
    return (m == 1);
}
登录后复制

这里我反复将 m 除以 n,直到遇到非零余数。对于 n 的精确幂,我最终会得到 m = 1

使用此方法的所有可能的 m 值的 (n - 1)/n 在第一次迭代时都会被拒绝,因为 n 连续数字中只有一个数字具有 m % n == 0

以上是如何在 Java 中编写一个函数来检查一个数字是否是另一个数字的幂?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)