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

C++で指定された範囲の単位桁kの数値をカウントします


[最初、最後]の間隔が与えられます。目標は、単位桁がkで、範囲[first、last]の間にある数値の数を見つけることです。

これを行うには、i=firstからi=lastまでトラバースします。数値ごとに、その単位桁をkと比較します。同じ場合は、カウントをインクリメントします。

例を挙げて理解しましょう。

入力 −最初=8最後=40、k =8

出力 −単位桁がk −4の数の数

説明

Numbers between 8 and 40 with unit digit = 8
8,18, 28, 38

入力 −最初=100最後=200、k =9

出力 −単位桁がkの数の数− 10

説明

Numbers between 100 and 200 with unit digit = 9
109, 119, 129, 139, 149, 159, 169, 179, 189, 199.
Total:10

以下のプログラムで使用されているアプローチは次のとおりです

  • 最初と最後の2つの整数を使用して、範囲[first、last]を定義します。

  • 関数getCount(int fst、int lst、int k)は、範囲変数とkを受け取り、fstとlstの間の数値のカウントを返し、単位桁はkです。

  • 初期カウントを0とします。

  • forループの開始をi=fstからi=lstまで使用して、各iについて単位桁をldigit =i%10として計算します。

  • ldigit ==kの場合、カウントをインクリメントします。

  • 結果としてカウントを返します。

#include <bits/stdc++.h>
using namespace std;
int getCount(int fst,int lst,int k){
   int count=0;
   for(int i=fst;i<=lst;i++){
      int ldigit=i%10; //to get last digit
      if(ldigit==k) //if both are equal increment count
         { ++count; }
   }
   return count;
}
int main(){
   int first = 5, last = 30;
   int K=5;
   cout<<"Numbers with unit digit K in range:"<<getCount(first, last, K);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Numbers with unit digit K in range:3

  1. C++で数字として4を持つ1からnまでの数を数えます

    このチュートリアルでは、数字が4である1からnまでの数字を見つけるプログラムについて説明します。 このために、番号nが提供されます。私たちの仕事は、数字の1つとして4を含むすべての数字を数え、それを印刷することです。 例 #include<iostream> using namespace std; bool has4(int x); //returning sum of digits in the given numbers int get_4(int n){    int result = 0;    //calculating the

  2. C++では「d」桁の正の整数を0で数えます。

    このチュートリアルでは、数字が0の「d」桁の数字を見つけるプログラムについて説明します。 このために、番号「d」が提供されます。私たちのタスクは、「d」桁とその桁の1つとして0を持つ正の整数の数を数えて出力することです。 例 #include<bits/stdc++.h> using namespace std; //counting the number of 'd' digit numbers int count_num(int d) {    return 9*(pow(10,d-1) - pow(9,d-1)); } int main(