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

ตรวจสอบ Number ประกอบด้วย 1, 14, 144 เท่านั้นใน C++

ในบทความนี้จะตรวจสอบว่า String หรือ Number เป็น Concatenation ของ 1, 14 หรือ 144 เท่านั้น ตัวอย่าง "111411441" ถูกต้อง แต่ "144414" ไม่ถูกต้อง

วิธีแก้: ดึง Single-digit, Double-digit, Triple-digit จากท้าย ตรวจสอบ Match กับ 1, 14, 144 ถ้า Match ให้หาร Number ด้วยตัวนั้น ทำซ้ำจน Number หมด

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

#include <iostream>
#include <cmath>
using namespace std;

bool checkNumber(long long number) {
    int n = number;
    while (n > 0) {
        if (n % 1000 == 144)
            n /= 1000;
        else if (n % 100 == 14)
            n /= 100;
        else if (n % 10 == 1)
            n /= 10;
        else {
            return false;
        }
    }
    return true;
}

int main() {
    long long n = 111411441;
    if(checkNumber(n)) {
        cout << "Valid number";
    } else {
        cout << "Invalid number";
    }
}

ผลลัพธ์

Valid number