Submission

Status:
[-SSSSSSSSS]

Score: 0

User: Pera

Problemset: บาร์โค้ด

Language: c

Time: 0.003 second

Submitted On: 2024-10-09 11:08:05

#include <stdio.h>

int main(void) {

    printf("Enter 13 digit barcode : ");
    char input[14];
    scanf("%s", input);
    int checkdigit = input[12] - '0';

    int num[13];

    //Reverse barcode and put into int array
    for (int i = 0; i < 13; i++) {
        num[i] = input[12 - i] - '0';
    }


    /*for (int i = 0; i < 13; i++) {
        printf("%d ", num[i]);
    }*/

    int sumodd = 0, sumeven = 0;
    for (int i = 0; i < 13; i++) {
        if (i % 2 != 0) sumeven += num[i];
        else if (i % 2 == 0 && i != 0) sumodd += num[i];
    }

    int sumall = (sumeven * 3) + sumodd;
    int finalval = sumall + checkdigit;

    if (finalval % 10 == 0) printf("YES\n");
    else printf("NO\n");


}