Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Quaoar

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-12 11:34:34

#include <stdio.h>

int main() {
    char str[16];
    scanf("%s" , str);
    int sum = 0;
    int last = str[15] - '0';
    int box[16] = {0};
    str[15] = '0';
    
    for (int i = 0 ; i < 16 ; i++){
        if (i % 2 == 0){
            if (str[i] > '4'){
                box[i] = ((str[i] - '0') * 2) - (((str[i] - '0') * 2) % 10) - 9;
                str[i] = ((((str[i] - '0') * 2 ) - 10 ) + '0');
            } else {
                str[i] = ((str[i] - '0') * 2) + '0';
            }
        }
    }
    
    for (int i =  0 ; i < 16 ; i++){
        sum += box[i];
    }
    for (int i =  0 ; i < 16 ; i++){
        sum +=  str[i] - '0';
    }

    if ((10 - (sum % 10)) % 10 == last){
        printf("yes");
    } else {
        printf("no");
    }

    return 0;
}