#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
int a[10];
if(s[0]<'H') a[0]=s[0]-'A'+10;
else if(s[0]=='I') a[0]=34;
else if(s[0]>='J'&&s[0]<='N') a[0]=s[0]-'J'+18;
else if(s[0]=='O') a[0]=35;
else if(s[0]>='P'&&s[0]<='V') a[0]=s[0]-'P'+23;
else if(s[0]=='W') a[0]=32;
else if(s[0]=='X') a[0]=30;
else if(s[0]=='Y') a[0]=31;
else if(s[0]=='Z') a[0]=33;
for(int i=1;i<10;i++){
a[i]=s[i]-'0';
}
int total=0;
int sum=8;
total+=a[0]/10+a[0]%10*9;
for(int i=1;i<9;i++){
total+=a[i]*sum;
sum--;
}
total+=a[9];
if(total%10==0) cout<<"real";
else cout<<"fake";
}
我看到 if(s[0]<'H') a[0]=s[0]-'A'+10;
如果輸入的英文字母剛好是H,程式似乎無法處理
就AC啦~