C++でNを除算する指定された数Nの桁を数えます
たとえばNという数が与えられ、そのタスクは、数Nを除算する数のそれらの桁の数を見つけることです。
覚えておくべきポイント
-
数字が0の場合は無視する必要があります。つまり、0の場合はカウントが増加しません。
-
数字が2回表示され、それが数字を除算する場合、カウントは数字の出現に依存します。たとえば、数値2240が与えられ、この数値では、0を除くすべての桁が数値を除算し、2が2回発生し、桁2のカウントは2になります。
入力 −数値=2240
出力 −カウントは3
説明 −数値を桁に分割すると、2、2、4、0になります。2が2240を除算するかどうかを確認し、はいの場合はカウントを増やし、それ以外の場合は次の桁に移動します。この数値では、2、2、4が桁2240を除算するため、カウントします。 3になり、すべての場合で数字0を無視します。
入力 −数値=755
出力 −カウントは2です
説明 −数値を桁に分割すると、7、5、5になります。7が755を除算するかどうかを確認し、はいの場合はカウントを増やし、それ以外の場合は次の桁に移動します。この数値5では、5が桁755を除算するため、カウントは2になります。いずれの場合も数字0を無視してください
以下のプログラムで使用されているアプローチは次のとおりです
-
整数変数に数値を入力します。たとえば、num
-
numが0より大きくなるまでループを開始します
-
ループ内で、数値を数字に分割し、結果を変数に格納し続けます。たとえば、rem
-
remが数値を除算するかどうかを確認し、はいの場合はカウント変数の値を1増やし、そうでない場合はカウント変数の値を増やしないでください。
-
そして、このチェックステートメントは、0を無視する必要があるため、remが0より大きい場合に適用されます。
例
#include <bits/stdc++.h> using namespace std; int count(int num){ int a=num; int count=0,rem; while(a>0){ rem=a%10; if(rem > 0){ if(num%rem==0){ count++; } } a=a/10; } return count; } int main(){ int num = 2240; cout<<"Count of digits in given number "<<num<<" which divide N are: "<<count(num); return 0; }
出力
上記のコードを実行すると、次の出力が得られます-
Count of digits in given number 2240 which divide N are: 3
-
C++で数値を除算する数値の桁数を検索します
番号が与えられていると仮定します。数を均等に分割する数の桁数を数える必要があります。数値が1012で、結果が3であるとします。1012を均等に分割する3桁の1、1、および2があります。 これを解決するために、モジュラス演算を使用して数値の各桁を見つけ、数値がその桁で割り切れるかどうかを確認します。割り切れる場合は、カウンターを増やします。数字が0の場合は、その数字を無視します。 例 #include<iostream> using namespace std; int countDivDigit(int num) { int c
-
指定された数値の桁を合計するC++プログラム
これは、C++言語で桁の合計を計算する例です。 例 #include<iostream> using namespace std; int main() { int x, s = 0; cout << "Enter the number : "; cin >> x; while (x != 0) { s = s + x % 10; x = x / 10;