Submission

Status:

[-SSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: MrPian

Problemset: ตรวจบัตรเครดิต

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-11 09:38:45

#include <iostream>
#include <string>
#include <cctype>

using namespace std;
bool isValidCreditCard(const string &number) {
    int checksum = 0;
    bool doubleDigit = false;

    for(int i = static_cast<int>(number.size()) - 1; i >= 0; --i) {
        if(!isdigit(static_cast<unsigned char>(number[i]))) {
            return false;
        }

        int digit = number[i] - '0';
        if(doubleDigit) {
            digit *= 2;
            if (digit > 9) {
                digit -= 9;
            }
        }
        checksum += digit;
        doubleDigit = !doubleDigit;
    }

    return checksum % 10 == 0;
}

int main() {
    string number;
    cout << (isValidCreditCard(number) ? "yes" : "no");
    return 0;
}