Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm số với N chữ số bao gồm số chẵn của 0 trong C ++

Chúng tôi được cung cấp một số N làm đầu vào. Mục tiêu là tìm tất cả N số chữ số có chữ số chẵn là chữ số 0. Số cũng có thể có các số không đứng trước như trong trường hợp N =3 số được bao gồm sẽ là 001,002,003… .010… .vậy.

Hãy cho chúng tôi hiểu với các ví dụ.

Đầu vào - N =4

Đầu ra - Số lượng không. với N chữ số bao gồm số chẵn của 0 là - 7047

Giải thích - Tất cả các số có 4 chữ số sẽ giống như -

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

Đầu vào - N =5

Đầu ra - Số lượng không. với N chữ số bao gồm số chẵn của 0 là - 66383

Giải thích - Tất cả các số có 5 chữ số sẽ giống như -

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

Cách tiếp cận được sử dụng trong chương trình dưới đây như sau

Đầu tiên chúng ta sẽ tính tổng N số chữ số là T =10N-1. Sau đó tính tất cả các số có N chữ số với các chữ số lẻ 0 là các chữ số, đó là O =10N-8N. Các số còn lại có chữ số Chẵn là 0 sẽ là T-O / 2.

  • Lấy một số nguyên N làm đầu vào.

  • Hàm count_even (int N) nhận N và trả về tổng số N chữ số với số 0 chẵn.

  • Tổng số N chữ số là tổng =pow (10, N) -1

  • Tổng N số chữ số với chữ số 0 lẻ là số lẻ =pow (10, N) -pow (8, N).

  • Các chữ số 0 chẵn còn lại trong chữ số là chẵn =tổng-lẻ / 2.

  • Trả về chẵn dưới dạng đếm N số chữ số với các số chẵn là 0.

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau- -

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