Submission

Status:
[PPPPPPPPPP]

Score: 100

User: jxkrpn

Problemset: บาร์โค้ด

Language: c

Time: 0.001 second

Submitted On: 2024-09-27 13:58:26

#include"stdio.h"
#include"string.h"
void Reverse(int ar[],int n){
    for(int i=0;i<n/2;i++){
        int temp = ar[i];
        ar[i]=ar[n-i-1];
        ar[n-i-1]=temp;
    }
}

int main(){
    int i=0,j,k,result;
    char n[20];
    int ar[20];
    int re[20];
    scanf("%s",n);
    k = strlen(n);
    for(i=0;i<k;i++){
        ar[i]= n[i]-'0';
    }
    for(j=0;j<k;j++){
        re[j]=ar[k-j-1];
    }
    
    if (k >= 13) {
        Reverse(re, 13);
    } else {
        Reverse(re, k);
    }


    int sum=0;
    for(i=0;i<k && i<13;i+=2){
        sum+=re[i];
    }

    int sum2=0;
    for(i=1;i<k && i<13;i+=2){
        sum2+=re[i];
    }
    sum2=sum2*3;    
    result = sum+sum2;

    if(result%10 ==0){
        printf("YES");
    }else{
        printf("NO");
    }
    return 0;
}