Submission

Status:
[PPPPPPPPPP]

Score: 100

User: njoop

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

Language: cpp

Time: 0.001 second

Submitted On: 2024-11-18 20:56:43

#include <stdio.h>

int addSum(int num) {
    int ans = 0;
    while(num > 0) {
        ans += num%10;
        num /= 10;
    }
    return ans;
}

int main() {
    char arr[100];
    int num[100], cnt=0, r=0;
    scanf("%s", arr);
    for(int i=0; arr[i] != '\0'; i++) {
        num[i] = arr[i] - '0';
        cnt = i;
    }
    for(int i=0; i<cnt; i++) {
        if(i%2 != cnt%2) num[cnt-i-1] *= 2;
        r += addSum(num[cnt-i-1]);
    }
    if((10-(r%10))%10 == num[cnt]) {
        printf("yes");
    } else {
        printf("no");
    }
    return 0;
}