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

C++에서 짝수 0으로 구성된 N자리 숫자 세기

<시간/>

입력으로 숫자 N이 제공됩니다. 목표는 숫자로 0이 짝수인 N자리 숫자를 모두 찾는 것입니다. 또한 N=3인 경우 숫자가 001,002,003….010…

예를 들어 이해합시다.

입력 - N=4

출력 - 번호의 개수. 짝수 0으로 구성된 N 자리는 - 7047입니다.

설명 − 4자리 숫자는 모두 다음과 같습니다. −

Smallest will be 0000, then 0011,0012,0013,0014…..Highest will be 9900.

입력 - N=5

출력 - 번호의 개수. 짝수 0으로 구성된 N 자리는 - 66383입니다.

설명 − 5자리 숫자는 모두 다음과 같습니다. −

Smallest will be 00001, then 00002,00003,00004…..Highest will be 99900.

아래 프로그램에서 사용한 접근 방식은 다음과 같습니다.

먼저 T=10N-1인 총 N 자리 숫자를 계산합니다. 그런 다음 홀수 0이 있는 모든 N 자리 숫자를 숫자로 계산합니다. 즉, O=10N-8N 입니다. 짝수가 0인 나머지 숫자는 T-O/2가 됩니다.

  • 정수 N을 입력으로 받습니다.

  • count_even(int N) 함수는 N을 받아서 짝수 0이 있는 N 자리 숫자의 개수를 반환합니다.

  • 총 N자리 숫자는 total=pow(10,N)-1

    입니다.
  • 홀수 0이 포함된 총 N자리 숫자는 odd=pow(10,N)-pow(8,N)입니다.

  • 나머지 숫자 0은 even=total-odd/2입니다.

  • 짝수가 0인 N자리 숫자의 개수로 짝수를 반환합니다.

예시

#include <bits/stdc++.h>
using namespace std;
int count_even(int N){
   int total = pow(10, N) - 1;
   int odd = pow(10, N) - pow(8, N);
   int even = total - odd / 2;
   return even;
}
int main(){
   int N = 3;
   cout<<"Count of Numbers with N digits which consists of even number of 0's are: "<<count_even(N);
   return 0;
}

출력

위의 코드를 실행하면 다음과 같은 출력이 생성됩니다. -

Count of Numbers with N digits which consists of even number of 0's are: 755