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

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

  1. C++で数値を除算する数値の桁数を検索します

    番号が与えられていると仮定します。数を均等に分割する数の桁数を数える必要があります。数値が1012で、結果が3であるとします。1012を均等に分割する3桁の1、1、および2があります。 これを解決するために、モジュラス演算を使用して数値の各桁を見つけ、数値がその桁で割り切れるかどうかを確認します。割り切れる場合は、カウンターを増やします。数字が0の場合は、その数字を無視します。 例 #include<iostream> using namespace std;    int countDivDigit(int num) {    int c

  2. 指定された数値の桁を合計する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;