迴圈
輸入id
計算check值
倘若加入此英文字母滿足判別方式(a020)
先記錄下來
輸出記錄下來的英文字母
#include <iostream>
#include <cstring>
using namespace std;
char table[26] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R',
'S', 'T', 'U', 'V', 'X', 'Y', 'W', 'Z',
'I', 'O'};
char alpha[26] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
'Y', 'Z'};
bool candidate[26];
int main()
{
int check;
string id;
while(cin >> id)
{
check = 0;
for(int i = 0; i<8; i++)
check += (id[i] - '0')*(8-i);
check += id[8] - '0';
memset(candidate, false, 26);
for(int i = 10; i<=35; i++)
if( (check + i/10 + (i%10)*9) % 10 == 0)
candidate[(int)table[i-10] - 65] = true;
for(int i = 0; i<26; i++)
if(candidate[i])
cout << alpha[i];
cout << endl;
}
return 0;
}
留言列表