Submission

Status:
[PPPPPPPPPP]

Score: 100

User: Cmoss9

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-11 22:06:21

#include <bits/stdc++.h>
using namespace std;
int main () {
    string s;
    cin >> s;
    int id[15];
    for (int i = 0;i<15;i++) {
        id[i] = s[i] - '0';
        //cout << id[i];
    }
    //cout << endl;
    int reverse[15];
    for (int i = 0;i<15;i++) {
        reverse[i] = id[14-i];
        //cout << reverse[i];
    }
    //cout << endl;
    for (int i = 0;i<15;i++) {
        if (i%2==0) {
            reverse[i] *= 2;
        }
        //cout << reverse[i];
    }
    int thickofit[30];
    int index = 0;
    for (int i = 0;i<15;i++) {
        if (reverse[i] >= 10) {
            thickofit[index] = reverse[i]/10;
            thickofit[index+1] = reverse[i]%10;
            index++;
        }
        else thickofit[index] = reverse[i];
        index++;
    }
    int sum = 0;
    for (int i = 0;i<index;i++) {
        sum += thickofit[i];
    }
    //cout << sum;
    if ((10-(sum%10))%10 == s[15]-'0') {
        cout << "yes";
    } else cout << "no";
}