입력으로 숫자 N이 제공됩니다. 목표는 0이 홀수인 N자리 숫자를 모두 찾는 것입니다. N=3인 경우 포함된 숫자는 000,011,012….990과 같이 숫자 앞에 0이 있을 수도 있습니다.
예를 들어 이해합시다.
입력 - N=3
출력 - 번호의 개수. 짝수 0으로 구성된 N 자리는 -244입니다.
설명 − 3자리 숫자는 모두 다음과 같습니다. −
Smallest will be 000, then 011,012,013,0014…..Highest will be 990.
입력 - N=5
출력 - 번호의 개수. 짝수 0으로 구성된 N 자리는 - 33616입니다.
설명 − 5자리 숫자는 모두 다음과 같습니다. −
Smallest will be 00000, then 00011,00012,00013,0014…..Highest will be 99990.
아래 프로그램에서 사용한 접근 방식은 다음과 같습니다.
먼저 T=10N-1인 총 N 자리 숫자를 계산합니다. 그런 다음 0이 짝수인 모든 N 자리 숫자를 계산합니다. 즉, E=10N-8N 입니다. Odd0의 숫자가 있는 나머지 숫자는 (T-E)/2입니다.
-
정수 N을 입력으로 받습니다.
-
count_dd(int N) 함수는 N을 취하여 홀수 0이 있는 N 자리 숫자의 개수를 반환합니다.
-
총 N자리 숫자는 total=pow(10,N)-1
입니다. -
숫자에 0이 짝수인 총 N자리 숫자는 even=pow(10,N)-pow(8,N)입니다.
-
나머지 홀수 0은 홀수=(총-짝수)/2입니다.
-
홀수가 0인 N자리 숫자의 개수로 홀수를 반환합니다.
예
#include <bits/stdc++.h> using namespace std; int count_odd(int N){ int total = pow(10, N); int even = pow(8, N); int odd = (total - even) / 2; return odd; } int main(){ int N = 4; cout<<"Count of Numbers with N digits which consists of odd number of 0's are: "<<count_odd(N); return 0; }
출력
위의 코드를 실행하면 다음과 같은 출력이 생성됩니다 -
Count of Numbers with N digits which consists of odd number of 0's are: 2952