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

โปรแกรมตรวจสอบเลข Buzz Number ใน C++

Buzz Number คืออะไร?

Buzz Number คือจำนวนเต็มบวกที่ตรงตามเงื่อนไขอย่างน้อยหนึ่งข้อจากสองข้อต่อไปนี้:

  1. ลงท้ายด้วยเลข 7 เช่น 7, 17, 27, 657, 1007
  2. หารด้วย 7 ลงตัว เช่น 7, 14, 21, 49, 63, 70

หมายเหตุ: เลข 7 ตรงตามเงื่อนไขทั้งสองข้อ

ขั้นตอนการตรวจสอบ

  1. รับค่าจำนวนเต็มบวก n
  2. ตรวจสอบเงื่อนไข:
    • n % 10 == 7 → ลงท้ายด้วย 7
    • n % 7 == 0 → หาร 7 ลงตัว
  3. ถ้าเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง → เป็น Buzz Number
  4. ถ้าเงื่อนไขทั้งสองเป็นเท็จ → ไม่ใช่ Buzz Number

ตัวอย่างโค้ด C++

#include <iostream>
using namespace std;

bool isBuzz(int num) {
    return (num % 10 == 7 || num % 7 == 0);
}

int main() {
    int testCases[] = {49, 29, 67, 7, 14, 17, 20};
    int n = sizeof(testCases) / sizeof(testCases[0]);
    
    for (int i = 0; i < n; i++) {
        int num = testCases[i];
        if (isBuzz(num))
            cout << num << " is a Buzz Number\n";
        else
            cout << num << " is not a Buzz Number\n";
    }
    return 0;
}

ผลลัพธ์ตัวอย่าง

49 is a Buzz Number
29 is not a Buzz Number
67 is a Buzz Number
7 is a Buzz Number
14 is a Buzz Number
17 is a Buzz Number
20 is not a Buzz Number

ตาราง Buzz Numbers แรกๆ (1-100)

7, 14, 17, 21, 27, 28, 35, 37, 42, 47, 49, 56, 57, 63, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 84, 87, 91, 97, 98

ความซับซ้อนของอัลกอริทึม

  • เวลา: O(1) - ตรวจสอบได้ในเวลาคงที่
  • พื้นที่: O(1) - ใช้หน่วยความจำคงที่

ประยุกต์ใช้

แนวคิด Buzz Number มักใช้ในเกม FizzBuzz ที่นิยมในการสัมภาษณ์เขียนโปรแกรม โดยรวมกับ Fizz Number (หาร 3 ลงตัว) เพื่อสร้างกติกาการนับเลขที่น่าสนใจ