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

C++で数のすべての完全な除数を数えます


このチュートリアルでは、ある数のすべての完全な約数の数を見つけるプログラムについて説明します。

このために、番号が提供されます。私たちの仕事は、その与えられた数のすべての完全な除数を数えることです。

#include<bits/stdc++.h>
using namespace std;
//checking perfect square
bool if_psquare(int n){
   int sq = (int) sqrt(n);
   return (n == sq * sq);
}
//returning count of perfect divisors
int count_pdivisors(int n){
   int count = 0;
   for (int i=1; i*i <= n; ++i){
      if (n%i == 0){
         if (if_psquare(i))
            ++count;
         if (n/i != i && if_psquare(n/i))
            ++count;
      }
   }
   return count;
}
int main(){
   int n = 16;
   cout << "Total perfect divisors of " << n << " = " << count_pdivisors(n) << "\n";
   n = 12;
   cout << "Total perfect divisors of " << n << " = " << count_pdivisors(n);
   return 0;
}

出力

Total perfect divisors of 16 = 3
Total perfect divisors of 12 = 2

  1. C++でほぼ完全数

    ほぼ完全数 また、最も不足している数またはわずかに欠陥のある数は、すべての除数の合計(1と数自体を加算)が 2n-1に等しくなければならない数です。 。 この問題では、数値がほぼ完全数であるかどうかをチェックするアルゴリズムを定義します。 概念をよりよく理解するために例を見てみましょう Input : 16 Output : yes Explanation : Divisors of 16 are 1, 2, 4, 8, 16. Sum = 1 + 2 + 4 + 8 + 16 = 31 n = 16 ; 2n-1 = 2*16 - 1 = 31 Input : 12 Output :

  2. C++のCHAR_BIT

    CHAR_BITは、charのビット数です。これは、C++言語の「limits.h」ヘッダーファイルで宣言されています。 1バイトあたり8ビットです。 これがC++言語のCHAR_BITの例です 例 #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a = CHAR_BIT*sizeof(x);    stack<bool> s;    cout << "T