d와 num이라는 두 가지 요소가 주어졌습니다. 작업은 num으로 나눌 수 있는 d자리 숫자를 찾는 것입니다.
간단히 말해서 d에 2를 입력했다고 가정해 보겠습니다. 따라서 먼저 모든 2자리 숫자, 즉 10-99를 찾은 다음 num으로 나눌 수 있는 모든 숫자를 찾습니다.
예제를 통해 이에 대해 더 자세히 알아보겠습니다. −
입력 - 숫자 =2, 숫자 =12
출력 − 주어진 숫자로 나누어 떨어지는 n자리 숫자의 개수:8
설명 − 12로 나누어 떨어지는 두 자리 수는 12, 24, 36, 48, 60, 72, 84, 96이므로 12로 나누어 떨어지는 두 자리 수는 8개입니다.
입력 - 숫자 =2, 숫자 =9
출력 − 주어진 숫자로 나누어지는 n자리 숫자의 개수 − 10
설명 − 9로 나누어 떨어지는 두 자리 수는 18, 27, 36, 45, 54, 63, 72, 81, 90, 99이므로 9로 나누어 떨어지는 두 자리 수는 10개입니다.
아래 프로그램에서 사용하는 접근 방식은 다음과 같습니다.
-
요소 숫자와 숫자를 입력으로 사용합니다.
-
숫자로 나눌 수 있는 자릿수를 계산하려면 변수 count를 0으로 할당합니다.
-
digi_first를 pow(10, digit - 1)
로 선언하고 설정합니다. -
digi_last를 pow(10, digit)로 선언하고 설정합니다.
-
이제 d_first를 digi_first % num으로, d_last를 digi_last % num으로 선언하고 설정합니다.
-
d_first 및 d_last를 찾은 후 digi_first를 (digi_first - d_first) + num으로 설정하고 digi_last를 digi_last - d_last로 설정
-
이제 count를 ((digi_last - digi_first) / num + 1)으로 설정합니다.
-
반환 및 인쇄 횟수.
예시
#include <cmath> #include <iostream> using namespace std; int main(){ int digit = 2 , num = 9; //store the count int count= 0 ; int digi_first = pow(10, digit - 1); int digi_last = pow(10, digit); int d_first = digi_first % num; int d_last = digi_last % num; digi_first = (digi_first - d_first) + num; digi_last = digi_last - d_last; count = ((digi_last - digi_first) / num + 1); cout<<"Count of n digit numbers divisible by given number: "<<count<<"\n"; return 0; }
출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다. -
Count of n digit numbers divisible by given number: 10