เราได้รับตัวเลข 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