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

数値がC++の別の数値の累乗であるかどうかを確認します


ここでは、ある数が別の数の累乗であるかどうかを確認します。番号125があり、別の番号5が与えられているとします。したがって、125が5の累乗であることがわかると、trueが返されます。この場合はtrueです。 125 =5 3

アルゴリズム

isRepresentPower(x, y):
Begin
   if x = 1, then
      if y = 1, return true, otherwise false
   pow := 1
   while pow < y, do
      pow := pow * x
   done
   if pow = y, then
      return true
   return false
End

#include<iostream>
#include<cmath>
using namespace std;
bool isRepresentPower(int x, int y) {
   if (x == 1)
      return (y == 1);
      long int pow = 1;
   while (pow < y)
      pow *= x;
   if(pow == y)
   return true;
   return false;
}
int main() {
   int x = 5, y = 125;
   cout << (isRepresentPower(x, y) ? "Can be represented" : "Cannot be represented");
}

出力

Can be represented

  1. アームストロング数をチェックするC++プログラム

    アームストロング数は、桁の合計が桁の総数の累乗に等しい数です。アームストロング数のいくつかの例は次のとおりです。 3 = 3^1 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 371 = 3^3 + 7^3 + 1^3 = 27 + 343 + 1 = 371 407 = 4^3 + 0^3 + 7^3 = 64 +0 + 343 = 407 番号がアームストロング番号であるかどうかをチェックするプログラムは次のとおりです。 例 #include <iostream> #include <cmath< using namespa

  2. 数値がC#で2の累乗であるかどうかを確認するにはどうすればよいですか?

    2の累乗は、2nの形式の数値です。nは整数です 2を底とし、整数nを指数とするべき乗の結果。 n 2n 0 1 1 2 2 4 3 8 4 16 5 32 例1 class Program {    static void Main() {       Console.WriteLine(IsPowerOfTwo(9223372036854775809));       Console.WriteLine(IsPowe