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