给定一个由[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