#35358: c++殘風解


eddiehu (Eddiehu)

學校 : 不指定學校
編號 : 221727
來源 : [114.27.42.119]
最後登入時間 :
2024-02-09 23:40:06
a020. 身分證檢驗 | From: [114.27.53.143] | 發表日期 : 2023-05-28 19:19

記得後面運算要將字元轉成整數!!!
方法:int(字元-48)
 
#include<bits/stdc++.h>
 
using namespace std;
 
int step1(char n){
int k;
if(n<73&&n>64){
k=n-'A'+10;
}
else if(n=='I'){
k=34;
else if(n>73&&n<79){
k=n-'A'+9;
}
else if(n=='O'){
k=35;
else if(n>79&&n<87){
k=n-'A'+8;
else if(n=='W'){
k=32;
}
else if(n=='X'){
k=30;
else if(n=='Y'){
k=31;
else if(n=='Z'){
k=33;
}  
return (k%10)*9+(k/10);
}
int main(){
char a[10];
int b=0,h;
cin>>a;
for(int i=1;i<9;i++){
h=int(a[i]-48);
b=b+h*(9-i);
}
b=b+int(a[9]-48)+step1(a[0]);
if(b%10==0){
cout<<"real"<<endl;
}
else{
cout<<"fake"<<endl;
}
 return 0;
}
 
 
 
 
 
 
 
 
ZeroJudge Forum