Submission
Status:
[PPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: posnfor2
Problemset: ตรวจบัตรเครดิต
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-10 15:46:16
#include <bits/stdc++.h>
using namespace std;
int main()
{
string card;
cin >> card;
if(card.size() != 16){
return 0;
}
int chectD = card.back() - '0';
card.pop_back();
reverse(card.begin(), card.end());
vector <int> digits;
for(int i = 0; i < card.size(); i++){
int num = card[i] - '0';
if(i % 2 == 0) num *= 2;
if(num >= 10){
digits.push_back(num / 10);
digits.push_back(num % 10);
}
else{
digits.push_back(num);
}
}
int sum = accumulate(digits.begin(), digits.end(), 0);
int calcheck = (10 - (sum % 10)) % 10;
if(calcheck == chectD){
cout << "yes";
}
else{
cout << "no";
}
}