Submission
Status:
[PPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: bbcctxp
Problemset: ตรวจบัตรเครดิต
Language: c
Time: 0.002 second
Submitted On: 2025-10-09 22:01:12
//c1_bkk67_5
#include <stdio.h>
#include <string.h>
int num[20];
void str_rev(char str[]) {
int start=0;
int end=strlen(str)-1;
char swap;
while(start<end) {
swap=str[start];
str[start]=str[end];
str[end]=swap;
start++;
end--;
}
}
int main(){
char id[20];
scanf("%s",id);
int check=id[15]-'0';
str_rev(id);
for(int i=0;i<16;i++)
if(i!=0)
num[i]=id[i]-'0';
for(int i=0;i<16;i++){
if(i%2)
num[i]*=2;
}
int sum=0;
for(int i=0;i<16;i++){
if(num[i]>=10)
sum=sum+(num[i]/10)+(num[i]%10);
else
sum+=num[i];
}
//(10 - (R mod 10)) mod 10
int ans=(10-(sum%10))%10;
if(ans==check) printf("yes");
else printf("no");
return 0;
}
//5490123456789128
//5647373649364392