计算C ++中整数的孔数

给定一个由[0]组成的数组,其中包含数量为0到9的多个孔。目标是找到以输入整数形式给出的孔数。给定− Hole [] = {2,1,1,0,0,1,1,1,0}

例如

输入值

number = 239143
输出结果
计算一个整数的孔数是: 3

说明

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

输入值

number = 12345
输出结果
计算一个整数的孔数是: 3

说明

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

以下程序中使用的方法如下-

只需使用num%10取最左边的数字,然后从hole [num%10]中添加孔数即可进行计数。然后将数字num减少10。

  • 以整数作为输入。

  • 初始化Hole []数组。

  • 函数Holes_integer(int number,int hole [])返回整数形式的孔数。

  • 将初始计数设为0。

  • 遍历直到数字> 0。

  • 将最左边的数字作为温度=数字%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<<"计算一个整数的孔数是: "<<holes_integer(number, holes);
   return 0;
}
输出结果

如果我们运行上面的代码,它将生成以下输出-

计算一个整数的孔数是: 2

猜你喜欢