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