计算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(intnumber,inthole[])返回整数形式的孔数。
将初始计数设为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