本站遷移

因為我最近租用了網路空間以及網域,
故本站已遷移至新網站~
這邊的資訊已經正在進行搬移的工作~
希望各位可以到新網站去逛XD

New Website:
http://knightzone.org/

搜尋此網誌

2011年2月3日 星期四

[Zerojudge]a020: 身分證檢驗

照著題目做即可。

[C++](4ms, 748KB)
#include<iostream>
using namespace std;
int changenum( char letter )
{
if( letter >= 'A'&& letter <= 'H' )
return (int)letter - (int)'A' + 10;
if( letter == 'I' )
return 34;
if( letter >= 'J' && letter <= 'N' )
return (int)letter - (int)'J' + 18;
if( letter == 'O' )
return 35;
if( letter >= 'P' && letter <= 'V' )
return (int)letter - (int)'P' + 23;
if( letter == 'W' )
return 32;
if( letter >= 'X' && letter <= 'Y' )
return (int)letter - (int)'X' + 30;
if( letter == 'Z' )
return 33;
}
int main()
{
char letter;
unsigned int number;
while( cin >> letter >> number )
{
int sum = 0;
int temp = changenum(letter);
sum += temp/10;
sum += temp%10 * 9;
sum += number % 10;
number /= 10;
int inc = 1;
while( number )
{
sum += number%10 * inc;
inc++;
number /= 10;
}
if( sum % 10 )
cout << "fake\n";
else
cout << "real\n";
}
return 0;
}

0 意見:

張貼留言