非官方题解 | 身份证验证
2025-09-29 21:45:03
发布于:浙江
8阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
long long sum=0;
long long z[20]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
long long m[15]={1,0,10,9,8,7,6,5,4,3,2};
string s;
int main(){
cin>>s;
for(long long i=0;i<17;i++){
if(!(s[i]<='9'&&s[i]>='0')){
cout<<"No";
return 0;
}
else sum+=z[i]*(s[i]-'0');
}
sum%=11;
sum=m[sum];
if(sum==10&&s[17]=='X')cout<<"Yes";
else if(sum==s[17]-'0')cout<<"Yes";
else cout<<"No";
return 0;
}
这里空空如也







有帮助,赞一个