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";
}
}