C ++の例を含むDisarium番号?
それぞれの位置で累乗された桁の合計がその数自体と等しい数は、ディサリウム数と呼ばれます。
noOfDigits(int num)関数は、数値を取得し、残りの桁が1つしかないときに、数値を常に10で除算することにより、桁数を返します。反復ごとに、数字変数は数字を追跡するためにインクリメントされ、whileループが終了すると返されます。
int noOfDigits(int num){ int digits = 0; int temp = num; while (temp){ temp= temp/10; digits++; } return digits; }
次に、isDisarium(int num)はブール関数であり、数値を取得して、それがDisarium数値であるかどうかをチェックします。数字mod10で右端の数字を取り、数字システムの数字の位置に電力を供給します。次に、数値に電力を供給した結果が合計に加算されます。 whileループは、数字がなくなるまで実行されます。合計がnumに等しい場合はtrueが返され、そうでない場合はfalseが返されます。
isDisarium(int num){ int digits = noOfDigits(num); int sum = 0; int temp = num; while (temp){ int rightDigit = temp%10; sum = sum + pow(rightDigit, digits--); temp = temp/10; } return (sum == num); }
例
番号がdisarium番号であるかどうかをチェックする次の実装を見てみましょう。
#include<iostream> #include<math.h> using namespace std; int noOfDigits(int num){ int digits = 0; int temp = num; while (temp){ temp= temp/10; digits++; } return digits; } bool isDisarium(int num){ int digits = noOfDigits(num); int sum = 0; int temp = num; while (temp){ int rightDigit = temp%10; sum = sum + pow(rightDigit, digits--); temp = temp/10; } return (sum == num); } int main(){ int num = 518; if( isDisarium(num)) cout <<num<<" is a Disarium Number"<<endl; else cout << num<<" is not a Disarium Number"<<endl; return 0; }
出力
上記のコードは次の出力を生成します-
518 is a Disarium Number
-
C++での算術数
算術数は、すべての正の除数の平均が整数である数です。つまり、除数の数が除数の合計を除算できる場合、nは算術数です。 概念をよりよく理解するために例を見てみましょう。 Input : n = 6 Output : YES Explanation : Divisors are 1 , 2 , 3 , 6 Sum = 1+2+3+6 = 12 Number of divisors = 4 Sum of divisors / number of divisor = 12 / 4 = 3 アルゴリズム Step 1 : Calculate the sum of divisors and store i
-
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