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

Đếm số có N chữ số bao gồm số lẻ của 0 trong C ++

Chúng tôi được cung cấp một số N làm đầu vào. Mục đích là để tìm tất cả N số chữ số có một số lẻ là 0 là chữ số. 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à 000.011.012… .990.

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

Đầu vào - N =3

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

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

Smallest will be 000, then 011,012,013,0014…..Highest will be 990.

Đầ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à - 33616

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

Smallest will be 00000, then 00011,00012,00013,0014…..Highest will be 99990.

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ả N các số có chữ số chẵn 0 là chữ số, đó là E =10N-8N. Các số còn lại có chữ số Odd0 sẽ là (T-E) / 2.

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

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

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

  • Tổng N số chữ số có chữ số 0 chẵn là chữ số chẵn =pow (10, N) -pow (8, N).

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

  • Trả về số lẻ dưới dạng tổng số N chữ số với các số lẻ là 0.

Ví dụ

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

Đầ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 odd number of 0's are: 2952