目錄
問題內容
解決方法
首頁 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.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
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)