如果用公式算起來的話 Y100000001是21 假的
但是我們的前總統老蔣
他的身分證字號是Y100000001 沒錯
所以如果有這種測資 可是要給他REAL的哈
==========================
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
char cod[11]={ ' ' };
while(cin.getline(cod,11))
{
int ans=0;
switch(cod[0])
{
case 'A':
ans+=1;
break;
case 'B':
ans+=10;
break;
case 'C':
ans+=19;
break;
case 'D':
ans+=28;
break;
case 'E':
ans+=37;
break;
case 'F':
ans+=46;
break;
case 'G':
ans+=55;
break;
case 'H':
ans+=64;
break;
case 'I':
ans+=73;
break;
case 'J':
ans+=82;
break;
case 'K':
ans+=91;
break;
case 'L':
ans+=2;
break;
case 'M':
ans+=11;
break;
case 'N':
ans+=20;
break;
case 'O':
ans+=(3+5*9);
break;
case 'P':
ans+=(2+3*9);
break;
case 'Q':
ans+=(2+4*9);
break;
case 'R':
ans+=(2+5*9);
break;
case 'S':
ans+=(2+6*9);
break;
case 'T':
ans+=(2+7*9);
break;
case 'U':
ans+=(2+8*9);
break;
case 'V':
ans+=(2+9*9);
break;
case 'W':
ans+=(3+2*9);
break;
case 'X':
ans+=(3);
break;
case 'Y':
ans+=(3+1*9);
break;
case 'Z':
ans+=(3+3*9);
break;
}
ans+=(int)((cod[1]-48))*8;
ans+=(int)((cod[2]-48))*7;
ans+=(int)((cod[3]-48))*6;
ans+=(int)((cod[4]-48))*5;
ans+=(int)((cod[5]-48))*4;
ans+=(int)((cod[6]-48))*3;
ans+=(int)((cod[7]-48))*2;
ans+=(int)((cod[8]-48))*1;
ans+=(int)((cod[9]-48));
if (ans%10==0)
cout<<"real"<<endl;
else
cout<<"fake"<<endl;
}
}
Line19一直錯...為甚麼
如果用公式算起來的話 Y100000001是21 假的
但是我們的前總統老蔣
他的身分證字號是Y100000001 沒錯
所以如果有這種測資 可是要給他REAL的哈
==========================
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
char cod[11]={ ' ' };
while(cin.getline(cod,11))
{
int ans=0;
switch(cod[0])
{
case 'A':
ans+=1;
break;
case 'B':
ans+=10;
break;
case 'C':
ans+=19;
break;
case 'D':
ans+=28;
break;
case 'E':
ans+=37;
break;
case 'F':
ans+=46;
break;
case 'G':
ans+=55;
break;
case 'H':
ans+=64;
break;
case 'I':
ans+=73;
break;
case 'J':
ans+=82;
break;
case 'K':
ans+=91;
break;
case 'L':
ans+=2;
break;
case 'M':
ans+=11;
break;
case 'N':
ans+=20;
break;
case 'O':
ans+=(3+5*9);
break;
case 'P':
ans+=(2+3*9);
break;
case 'Q':
ans+=(2+4*9);
break;
case 'R':
ans+=(2+5*9);
break;
case 'S':
ans+=(2+6*9);
break;
case 'T':
ans+=(2+7*9);
break;
case 'U':
ans+=(2+8*9);
break;
case 'V':
ans+=(2+9*9);
break;
case 'W':
ans+=(3+2*9);
break;
case 'X':
ans+=(3);
break;
case 'Y':
ans+=(3+1*9);
break;
case 'Z':
ans+=(3+3*9);
break;
}
ans+=(int)((cod[1]-48))*8;
ans+=(int)((cod[2]-48))*7;
ans+=(int)((cod[3]-48))*6;
ans+=(int)((cod[4]-48))*5;
ans+=(int)((cod[5]-48))*4;
ans+=(int)((cod[6]-48))*3;
ans+=(int)((cod[7]-48))*2;
ans+=(int)((cod[8]-48))*1;
ans+=(int)((cod[9]-48));
if (ans%10==0)
cout<<"real"<<endl;
else
cout<<"fake"<<endl;
}
}
Line19一直錯...為甚麼
是Y100000001(九碼)不是Y1000000001(十碼)喔
如果用公式算起來的話 Y100000001是21 假的
但是我們的前總統老蔣
他的身分證字號是Y100000001 沒錯
所以如果有這種測資 可是要給他REAL的哈
==========================
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
char cod[11]={ ' ' };
while(cin.getline(cod,11))
{
int ans=0;
switch(cod[0])
{
case 'A':
ans+=1;
break;
case 'B':
ans+=10;
break;
case 'C':
ans+=19;
break;
case 'D':
ans+=28;
break;
case 'E':
ans+=37;
break;
case 'F':
ans+=46;
break;
case 'G':
ans+=55;
break;
case 'H':
ans+=64;
break;
case 'I':
ans+=73;
break;
case 'J':
ans+=82;
break;
case 'K':
ans+=91;
break;
case 'L':
ans+=2;
break;
case 'M':
ans+=11;
break;
case 'N':
ans+=20;
break;
case 'O':
ans+=(3+5*9);
break;
case 'P':
ans+=(2+3*9);
break;
case 'Q':
ans+=(2+4*9);
break;
case 'R':
ans+=(2+5*9);
break;
case 'S':
ans+=(2+6*9);
break;
case 'T':
ans+=(2+7*9);
break;
case 'U':
ans+=(2+8*9);
break;
case 'V':
ans+=(2+9*9);
break;
case 'W':
ans+=(3+2*9);
break;
case 'X':
ans+=(3);
break;
case 'Y':
ans+=(3+1*9);
break;
case 'Z':
ans+=(3+3*9);
break;
}
ans+=(int)((cod[1]-48))*8;
ans+=(int)((cod[2]-48))*7;
ans+=(int)((cod[3]-48))*6;
ans+=(int)((cod[4]-48))*5;
ans+=(int)((cod[5]-48))*4;
ans+=(int)((cod[6]-48))*3;
ans+=(int)((cod[7]-48))*2;
ans+=(int)((cod[8]-48))*1;
ans+=(int)((cod[9]-48));
if (ans%10==0)
cout<<"real"<<endl;
else
cout<<"fake"<<endl;
}
}
Line19一直錯...為甚麼
是Y100000001(九碼)不是Y1000000001(十碼)喔
如果用公式算起來的話 Y100000001是21 假的
但是我們的前總統老蔣
他的身分證字號是Y100000001 沒錯
所以如果有這種測資 可是要給他REAL的哈
==========================
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
char cod[11]={ ' ' };
while(cin.getline(cod,11))
{
int ans=0;
switch(cod[0])
{
case 'A':
ans+=1;
break;
case 'B':
ans+=10;
break;
case 'C':
ans+=19;
break;
case 'D':
ans+=28;
break;
case 'E':
ans+=37;
break;
case 'F':
ans+=46;
break;
case 'G':
ans+=55;
break;
case 'H':
ans+=64;
break;
case 'I':
ans+=73;
break;
case 'J':
ans+=82;
break;
case 'K':
ans+=91;
break;
case 'L':
ans+=2;
break;
case 'M':
ans+=11;
break;
case 'N':
ans+=20;
break;
case 'O':
ans+=(3+5*9);
break;
case 'P':
ans+=(2+3*9);
break;
case 'Q':
ans+=(2+4*9);
break;
case 'R':
ans+=(2+5*9);
break;
case 'S':
ans+=(2+6*9);
break;
case 'T':
ans+=(2+7*9);
break;
case 'U':
ans+=(2+8*9);
break;
case 'V':
ans+=(2+9*9);
break;
case 'W':
ans+=(3+2*9);
break;
case 'X':
ans+=(3);
break;
case 'Y':
ans+=(3+1*9);
break;
case 'Z':
ans+=(3+3*9);
break;
}
ans+=(int)((cod[1]-48))*8;
ans+=(int)((cod[2]-48))*7;
ans+=(int)((cod[3]-48))*6;
ans+=(int)((cod[4]-48))*5;
ans+=(int)((cod[5]-48))*4;
ans+=(int)((cod[6]-48))*3;
ans+=(int)((cod[7]-48))*2;
ans+=(int)((cod[8]-48))*1;
ans+=(int)((cod[9]-48));
if (ans%10==0)
cout<<"real"<<endl;
else
cout<<"fake"<<endl;
}
}
Line19一直錯...為甚麼
是Y100000001(九碼)不是Y1000000001(十碼)喔