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