Java で数値が別の数値のべき乗であるかどうかを確認する関数を作成するにはどうすればよいですか?

王林
リリース: 2024-02-22 13:20:14
転載
861 人が閲覧しました

php エディター Youzi は、Java プログラミングに関する質問への答えを提供します。数値が別の数値の累乗であるかどうかを確認する関数を Java で記述するにはどうすればよいですか?このような関数を作成すると、Java プログラム内の数値間の複数の関係を迅速かつ正確に判断できるようになり、プログラミング作業が容易になります。この記事では、Java 言語を使用してこのような関数を記述する方法を検討し、詳細なコード実装と例を示します。もっと詳しく見てみましょう!

質問内容

整数 mn の累乗かどうかを確認するブール関数を書きました。しかし、私のコードは間違っています。たとえば、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 の場合もうまく処理できません。
  • ほとんどの入力では、次の方法で反復回数を減らすことができます:
リーリー

ここでは、ゼロ以外の余りが見つかるまで、mn で繰り返し除算します。 n の正確な累乗を求めると、最終的に m = 1 になります。

このメソッドを使用すると、(n - 1)/n のすべての可能な m 値は、n 数値が 1 つだけであるため、最初の反復で拒否されます。連続する番号の間に m % n == 0 があります。

以上がJava で数値が別の数値のべき乗であるかどうかを確認する関数を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート