Submission

Status:
[PPPPPPPPPP]

Score: 100

User: modx9572

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

Language: c

Time: 0.001 second

Submitted On: 2025-03-14 08:05:46

#include <stdio.h>
#include <string.h>

int main(){
    char num[17];
    scanf("%s", num);
    int le=strlen(num);
    int sum=0,i,pos;
    int lastD=num[le-1]-'0';
    
    for (i=le-2,pos=1;i>=0;i--,pos++) {
        int di=num[i]-'0';
        if (pos%2==1) {
            di*=2;
            if(di>=10) {
                di=(di%10) + 1;
            }
        }
        sum += di;
    }
    int checkD=(10-(sum%10))%10;
    if (checkD == lastD) {
        printf("yes\n");
    } else {
        printf("no\n");
    }
    return 0;
}