เราได้รับองค์ประกอบทั้งสองเช่น d และ num ภารกิจคือการหาตัวเลข d หลักที่หารด้วย num ลงตัว
พูดง่ายๆ ก็คือ สมมติว่าเราได้ใส่ค่า 2 ใน d แล้ว ขั้นแรกเราจะหาตัวเลข 2 หลักทั้งหมด นั่นคือตั้งแต่ 10-99 แล้วจึงหาตัวเลขทั้งหมดที่หารด้วย num ลงตัว
ให้เราเข้าใจสิ่งนี้มากขึ้นด้วยความช่วยเหลือของตัวอย่าง -
ป้อนข้อมูล − หลัก =2, num=12
ผลลัพธ์ − จำนวน n หลักหารด้วยตัวเลขที่กำหนด:8
คำอธิบาย − ตัวเลข 2 หลักที่หารด้วย 12 ได้คือ 12, 24, 36, 48, 60, 72, 84 และ 96 จึงมีตัวเลข 8 ตัวหารด้วย 12 ได้ 8 ตัว
ป้อนข้อมูล − หลัก =2, num=9
ผลผลิต − จำนวน n หลักหารด้วยตัวเลขที่กำหนด − 10
คำอธิบาย − ตัวเลข 2 หลักที่หารด้วย 9 ได้คือ 18, 27, 36, 45, 54, 63, 72, 81, 90 และ 99 จึงมีตัวเลขสองหลัก 10 ตัวหารด้วย 9
แนวทางที่ใช้ในโปรแกรมด้านล่างดังนี้
-
ใช้ตัวเลขและตัวเลขขององค์ประกอบเป็นอินพุต
-
กำหนดตัวแปรนับเป็น 0 เพื่อนับจำนวนหลักหารด้วย num.
-
ประกาศและตั้งค่า digi_first เป็น pow(10, หลัก - 1)
-
ประกาศและตั้งค่า digi_last เป็น pow (10 หลัก)
-
ตอนนี้ประกาศและตั้งค่า d_first เป็น digi_first % num และ d_last เป็น digi_last % num
-
หลังจากค้นหา d_first และ d_last แล้ว ให้ตั้งค่า digi_first เป็น (digi_first - d_first) + num และ digi_last เป็น digi_last - d_last
-
ตอนนี้ตั้งค่าการนับเป็น ((digi_last - digi_first) / num + 1)
-
ส่งคืนและพิมพ์นับ
ตัวอย่าง
#include <cmath> #include <iostream> using namespace std; int main(){ int digit = 2 , num = 9; //store the count int count= 0 ; int digi_first = pow(10, digit - 1); int digi_last = pow(10, digit); int d_first = digi_first % num; int d_last = digi_last % num; digi_first = (digi_first - d_first) + num; digi_last = digi_last - d_last; count = ((digi_last - digi_first) / num + 1); cout<<"Count of n digit numbers divisible by given number: "<<count<<"\n"; return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น เราจะได้ผลลัพธ์ต่อไปนี้ -
Count of n digit numbers divisible by given number: 10