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

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


このセクションでは、数値が8の累乗であるかどうか、またはより簡単な方法を使用していないかどうかを確認します。 4096のような数値が存在する場合、これは8の累乗であるため、プログラムはtrueを返します。

トリックは簡単です。 log8(num)を計算します。これが整数の場合、nは8の累乗です。ここでは、tranc(n)関数を使用して、double値の最も近い整数を見つけます。

#include <iostream>
#include <cmath>
using namespace std;
bool isPowerOfEight(int n) {
   double val = log(n)/log(8); //get log n to the base 8
   return (val - trunc(val) < 0.000001);
}
int main() {
   int number = 4096;
   if(isPowerOfEight(number)){
      cout << number << " is power of 8";
   } else {
      cout << number << " is not power of 8";
   }
}

出力

4096 is power of 8

  1. C++で多数が25で割り切れるかどうかを確認します

    ここでは、数値が25で割り切れるかどうかを確認する方法を説明します。この場合、その数は非常に多い数です。したがって、数値を文字列として入力します。 最後の2桁が00の場合、数値は25で割り切れます。または、25で割り切れます。 例 #include <bits/stdc++.h> using namespace std; bool isDiv25(string num){    int n = num.length();    int last_two_digit_val = (num[n-2] - '0') * 10 +

  2. C++で多数が11で割り切れるかどうかを確認します

    ここでは、数値が11で割り切れるかどうかを確認する方法を説明します。この場合、その数は非常に多い数です。したがって、数値を文字列として入力します。 数値が11で割り切れるかどうかを確認するには、奇数の位置の値の合計と偶数の位置の値の合計が同じである場合、その数値は11で割り切れます。 例 #include <bits/stdc++.h> using namespace std; bool isDiv11(string num){    int n = num.length();    long odd_sum = 0, even_sum =