Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับเลขด้วยเลข N ซึ่งประกอบด้วยเลขคี่ของ 0 ใน C++


เราได้รับตัวเลข N เป็นอินพุต เป้าหมายคือการหาตัวเลข N ทั้งหมดที่มีเลขคี่เป็น 0 เป็นตัวเลข ตัวเลขดังกล่าวอาจมีเลขศูนย์นำหน้าเช่นในกรณีของตัวเลข N=3 จะเป็น 000,011,012….990

ให้เราเข้าใจด้วยตัวอย่าง

ป้อนข้อมูล − N=3

ผลผลิต - นับไม่ ที่มีตัวเลข N ซึ่งประกอบด้วยเลขคู่ของ 0 คือ − 244

คำอธิบาย − ตัวเลข 3 หลักทั้งหมดจะเป็นแบบ −

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

ป้อนข้อมูล − N=5

ผลผลิต - นับไม่ ด้วยเลข N ซึ่งประกอบด้วยเลขคู่ของ 0 คือ − 33616

คำอธิบาย − ตัวเลขทั้ง 5 หลักจะเป็นแบบ −

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

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้

ก่อนอื่นเราจะคำนวณตัวเลข N หลักทั้งหมดที่เป็น T=10N-1 จากนั้นคำนวณตัวเลข N ทั้งหมดที่มี 0 เป็นตัวเลข นั่นคือ E=10N-8N ตัวเลขที่เหลือที่มีเลข Odd0 จะเป็น (T-E)/2.

  • ใช้จำนวนเต็ม N เป็นอินพุต

  • ฟังก์ชัน count_dd(int N) รับ N และส่งกลับการนับตัวเลข N หลักที่มีเลขคี่ 0

  • จำนวน N หลักทั้งหมดคือ total=pow(10,N)-1

  • จำนวน N หลักทั้งหมดที่มีเลขคู่เป็นเลข 0 คือ even=pow(10,N)-pow(8,N)

  • เลขคี่ที่เหลือ 0 เป็นเลขคี่=(รวม-คู่)/2.

  • คืนค่าคี่เป็นการนับตัวเลข N หลักที่มีเลขคี่เป็น 0

ตัวอย่าง

#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