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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

  • ฟังก์ชัน count_even(int N) รับ N และส่งกลับการนับจำนวน N หลักที่มีเลขคู่เป็น 0

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

  • ตัวเลขทั้งหมด N หลักที่มีเลข 0 เป็นเลขคี่เป็น odd=pow(10,N)-pow(8,N)

  • ตัวเลขที่เหลือแม้แต่ 0 เป็นเลขคู่=total-odd/2

  • ส่งกลับเป็นตัวเลข N หลักที่มีเลขคู่เป็น 0

ตัวอย่าง

#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