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