[ZJ] a020. 身分證檢驗
題目:
http://zerojudge.tw/ShowProblem?problemid=a020
-----------------------------------------------------------------------------------------------
#include<cstdio>
#include<cstdlib>
#include<cstring>
int data[100]={0};
void dat(void);
int main()
{
char s[15];
dat();
memset(s,' ',sizeof(s));
while(scanf("%s",&s)!=EOF)
{
int x[15]={0},ch=0,i=0,j=0,sum=0;
ch=s[0];
for(i=1;i<10;i++)
x[i]=s[i]-48;
ch=data[s[0]];
// printf("%d\n",ch);
sum=(ch/10) + (ch%10)*9 + x[9];
j=8;
for(i=1;i<=8;i++)
{
sum=sum+x[i]*j;
j--;
}
if(sum%10 == 0)
printf("real\n");
else
printf("fake\n");
}
return 0;
}
void dat(void)
{
int i=0,j=10;
for(i=65;i<=90;i++)
{
data[i]=j;
if(i==73)
{
data[i]=34;
continue;
}
else if(i==79)
{
data[i]=35;
continue;
}
else if(i==87)
{
data[i]=32;
continue;
}
else if(i==88)
{
data[i]=30;
continue;
}
else if(i==89)
{
data[i]=31;
continue;
}
else if(i==90)
{
data[i]=33;
continue;
}
j++;
}
}
http://zerojudge.tw/ShowProblem?problemid=a020
-----------------------------------------------------------------------------------------------
#include<cstdio>
#include<cstdlib>
#include<cstring>
int data[100]={0};
void dat(void);
int main()
{
char s[15];
dat();
memset(s,' ',sizeof(s));
while(scanf("%s",&s)!=EOF)
{
int x[15]={0},ch=0,i=0,j=0,sum=0;
ch=s[0];
for(i=1;i<10;i++)
x[i]=s[i]-48;
ch=data[s[0]];
// printf("%d\n",ch);
sum=(ch/10) + (ch%10)*9 + x[9];
j=8;
for(i=1;i<=8;i++)
{
sum=sum+x[i]*j;
j--;
}
if(sum%10 == 0)
printf("real\n");
else
printf("fake\n");
}
return 0;
}
void dat(void)
{
int i=0,j=10;
for(i=65;i<=90;i++)
{
data[i]=j;
if(i==73)
{
data[i]=34;
continue;
}
else if(i==79)
{
data[i]=35;
continue;
}
else if(i==87)
{
data[i]=32;
continue;
}
else if(i==88)
{
data[i]=30;
continue;
}
else if(i==89)
{
data[i]=31;
continue;
}
else if(i==90)
{
data[i]=33;
continue;
}
j++;
}
}
留言
張貼留言