文章
34
粉丝
0
获赞
333
访问
6.0k
#include <bits/stdc++.h>
using namespace std;
int main(){
char snum[20];
while(scanf("%s",snum)==1){
if(strlen(snum)!=18){
printf("ID Wrong\n");
continue;
}
int num[18];
for(int i=0;i<17;i++){
if(snum[i]<'0'||snum[i]>'9'){
printf("ID Wrong\n");
continue;
}
num[i]=snum[i]-'0';
}
if(snum[17]>='0'&&snum[17]<='9') num[17]=snum[17]-'0';
else if(snum[17]=='x'||snum[17]=='X') num[17]=10;
else {printf("ID Wrong\n"); continue;}
//权值
int heavy[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int sum=0;
for(int i=0;i<17;i++)
sum+=num[i]*heavy[i];
int cor=sum%11;
int xiaoyan[]={1,0,10,9,8,7,6,5,4,3,2};
if(xiaoyan[cor]==num[17]) printf("ID Corrent\n");
else printf("ID Wrong\n");}
return 0;
}
登录后发布评论
暂无评论,来抢沙发