Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 정수의 구멍 수 계산


0에서 9까지의 숫자에 있는 구멍의 수를 포함하는 구멍의 배열[10]이 주어지면 목표는 입력으로 주어진 정수에서 구멍의 수를 찾는 것입니다. 주어진 - 구멍[] ={ 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을 사용하여 가장 왼쪽에 있는 각 숫자를 취하고 구멍[num%10]에서 구멍 개수를 추가하여 계산하면 됩니다. 그런 다음 숫자를 10으로 줄입니다.

  • 정수를 입력하세요.

  • 구멍[] 배열을 초기화합니다.

  • hole_integer(int number, int holes[]) 함수는 정수의 구멍 수를 반환합니다.

  • 초기 카운트를 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