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

C++で整数の穴の数を数える


0から9までの数の穴を含む穴の配列[10]を指定します。目標は、入力として指定された整数の穴の数を見つけることです。与えられた-holes[]={2、1、1、0、0、1、1、1、0}

入力

number = 239143

出力

Count the number of holes in an integer are: 3

説明

We will count holes given in holes[]
239143 ( 1+0+0+2+0+0 )

入力

number = 12345

出力

Count the number of holes in an integer are: 3

説明

We will count holes given in holes[]
12345 ( 1+1+0+0+1)

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

num%10を使用して左端の各桁を取得し、holes [num%10]からholecountを追加してカウントします。次に、numの数を10減らします。

  • 入力として整数を取ります。

  • 穴[]配列を初期化します。

  • 関数holes_integer(int number、int hole [])は、整数の穴の数を返します。

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

  • 番号>0までトラバースします。

  • 左端の桁をtemp=number%10とします。カウントする穴[temp]を追加します。

  • 数を10減らします。

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

#include <bits/stdc++.h>
using namespace std;
int holes_integer(int number, int holes[]){
   int count = 0;
   while (number > 0){
      int temp = number % 10;
      count = count + holes[temp];
      number = number/10;
   }
   return count;
}
int main(){
   int number = 239143;
   int holes[] = { 2, 1, 1, 0, 0, 1, 1, 1, 0};
   cout<<"Count the number of holes in an integer are: "<<holes_integer(number, holes);
   return 0;
}

出力

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

Count the number of holes in an integer are: 2

  1. Xとの合計がC++のフィボナッチ数であるノードをカウントします

    ノードの重みを数値として持つ二分木を指定します。目標は、その数がフィボナッチ数であるような重みを持つノードの数を見つけることです。フィボナッチ数列の数は次のとおりです。0、1、1、2、3、5、8、13…。n番目の数はの合計です。 (n-1)番目と(n-2)番目。重みが13の場合、それはフィボナッチ数であるため、ノードがカウントされます。 例 入力 temp=1。値を入力した後に作成されるツリーを以下に示します- 出力 Count the nodes whose sum with X is a Fibonacci number are: 3 説明 we are given with

  2. C++で長方形の正方形の数を数える

    =Bとなるように、長さL、幅Bの長方形が与えられます。目標は、サイズLXBの長方形が収容できる正方形の数を見つけることです。 上の図は、サイズ3 X 2の長方形を示しています。2、2X2の正方形、6,1X1の正方形があります。 総正方形=6+ 2=8。 サイズLXBのすべての長方形には、1X1の正方形のL*B数があります。 最大の正方形のサイズはBXBです。 L =B =1の場合、正方形=1。 L =B =2の場合、正方形=1 + 4 =5(2X2の1、1X1の4) L =B =3の場合、正方形=1 + 4 + 9 =14(3X3の​​1、2X2の4、1