Submission
Status:
[PPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: cyblox_boi
Problemset: ตรวจบัตรเครดิต
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-16 15:07:48
#include <iostream>
#include <vector>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
string creditCardNumber;
cin >> creditCardNumber;
int lastCreditCardNumber = creditCardNumber[creditCardNumber.length() - 1] - '0';
creditCardNumber.erase(creditCardNumber.begin() + (creditCardNumber.length() - 1));
vector<int> numbers(creditCardNumber.length());
for (int i = creditCardNumber.length() - 1, j = 0; i >= 0; i--, j++)
{
numbers[j] = creditCardNumber[i] - '0';
if (j % 2 == 0)
{
numbers[j] *= 2;
}
}
int sum = 0;
for (const auto &i : numbers)
{
if (to_string(i).length() > 1)
{
string n = to_string(i);
for (int i = 0; i < n.length(); i++)
{
sum += n[i] - '0';
}
}
else
{
sum += i;
}
}
if ((10 - (sum % 10)) % 10 == lastCreditCardNumber)
{
cout << "yes";
}
else
{
cout << "no";
}
cout << '\n';
return 0;
}