ที่นี่เราจะดูวิธีหาความถี่ของหลักตัวเลข (Digit) ในจำนวนหนึ่ง สมมติจำนวนเป็น 12452321 ตัวเลข D = 2 แล้วความถี่คือ 3
เพื่อแก้ปัญหานี้ เราจะนำหลักสุดท้ายของจำนวนมา ตรวจสอบว่ามันเท่ากับ d หรือไม่ ถ้าใช่ ให้เพิ่มตัวนับ แล้วลดจำนวนลงโดยการหาร 10 กระบวนการนี้จะทำต่อไปจนกว่าจะหมดจำนวน
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
int countDigitInNum(long long number, int d) {
int count = 0;
while (number) {
if ((number % 10) == d)
count++;
number /= 10;
}
return count;
}
int main() {
long long num = 12452321;
int d = 2;
cout << "Frequency of " << 2 << " in " << num << " is: " << countDigitInNum(num, d);
}
ผลลัพธ์
Frequency of 2 in 12452321 is: 3