#include
/*
A=10 台北市 J=18 新竹縣 S=26 高雄縣
B=11 台中市 K=19 苗栗縣 T=27 屏東縣
C=12 基隆市 L=20 台中縣 U=28 花蓮縣
D=13 台南市 M=21 南投縣 V=29 台東縣
E=14 高雄市 N=22 彰化縣 W=32 金門縣
F=15 台北縣 O=35 新竹市 X=30 澎湖縣
G=16 宜蘭縣 P=23 雲林縣 Y=31 陽明山
H=17 桃園縣 Q=24 嘉義縣 Z=33 連江縣
I=34 嘉義市 R=25 台南縣
*/
int map[] = { // 英文字轉成上述數字後,個位數*9+十位數
1, // A
10,// B
19,// C
28,// D
37,// E
46,// F
55,// G
64,// H
39,// I
73,// J
82,// K
2, // L
11,// M
20,// N
48,// O
29,// P
38,// Q
47,// R
56,// S
65,// T
74,// U
83,// V
21,// W
3, // X
12,// Y
30,// Z
};
int isValid(char* d) {
int cs = map[d[0]-'A'];
for (int i=1; i<9 i="" p=""> cs += (d[i] - '0') * (9-i);
}
cs += (d[9] - '0');
return cs%10 == 0;
}
int main ()
{
char id[20];
while (scanf("%s", id) == 1) {
printf ("%s\n", isValid(id)?"real":"fake");
}
return 0;
}
9>
0 意見:
張貼留言