Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで数値をa^bとして表現できるかどうかを確認します


数nがあるとします。 a^bのように表現できるかどうかを確認する必要があります。

したがって、入力が125のような場合、出力は125 =5 ^ 3としてTrueになるため、a=5およびb=3

これを解決するには、次の手順に従います-

  • numが1と同じ場合、次のようになります。
    • trueを返す
  • iを初期化する場合:=2、i * i <=numの場合、更新(iを1つ増やす)、次のようにします。
    • val:=log(num)/ log(i)
    • val-valの整数部分がほぼ0の場合、次のようになります。
      • trueを返す
  • falseを返す

理解を深めるために、次の実装を見てみましょう-

#include<iostream> #include<cmath> using namespace std; bool solve(int num) {    if (num == 1)       return true;      for (int i = 2; i * i <= num; i++) {       double val = log(num) / log(i);       if ((val - (int)val) < 0.00000001)          return true;    }        return false; }   int main() {    int n = 125;    cout << solve(n); }

入力

125

出力

1

  1. 素数をチェックするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数が与えられているので、与えられた数が素数であるかどうかを確認する必要があります。 1より大きい特定の正の数で、1以外の要素はなく、その数自体は素数と呼ばれます。 2、3、5、7などは他の要素がないため素数です。 以下のこのプログラムでは、素数または非素数の性質について番号がチェックされます。 1以下の数は素数とは言えません。したがって、数値が1より大きい場合にのみ反復します。 ここで、その数が2から(num-1 // 2)の範囲の任意の数で正確に割り切れるかどうかを確認します。指定された範囲内に何ら

  2. アームストロング数をチェックするPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 整数nが与えられた場合、与えられた整数がアームストロング数であることを確認する必要があります。 正の整数は、次の場合、n次のアームストロング数と呼ばれます abcd... = a^n + b^n + c^n + d^n + … ここでは、3桁のアームストロング数、つまり3桁のブルートフォースアプローチについて説明します。 オーダーnのアームストロング番号を確認するには、3を行番号7の対応するオーダー値に置き換える必要があります。 それでは、実装を見てみましょう- 例