Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Krispans

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

Language: cpp

Time: 0.004 second

Submitted On: 2026-09-25 09:57:39

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main(){

    string code;
    int sum =0;
    vector<int> nums(16);
    cin >> code;
    for (int i=0; i<16; i++){
        nums[i] = code[i] - '0';
    }
    int last =  nums[nums.size()-1];
    nums.pop_back();
    for (int i=0; i<7; i++){
        int temp = nums[i];
        nums[i] = nums[14-i];
        nums[14-i] = temp;
    }
    for (int i=0; i<15; i++){
        if (i%2==0){
            nums[i] = nums[i]*2;
        }
    }
    for (int i=0; i<15; i++){
        if (nums[i]>= 10){
            int digit = nums[i]%10;
            int ascii = 49 + digit;
            char m = char(ascii);
            nums[i] = m - '0';
        }
    }
    for (int i=0; i<15; i++){
        sum +=nums[i];
    }
    if ((10-(sum%10))%10==last){
        cout << "yes";
    }
    else{
        cout << "no";
    }
}