题目大意:
ISBN有10个数字,把这10个数字分别乘以10,9,8,,,1加起来,如果等于11的整数倍,那么有效。X代表10,现在有个?,问?代表多少可以使得该ISBN有效
解题思路:
无
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char ch[20];
int i,sum=0,mark,flag=0;
gets(ch);
for(i=0;i<10;i++)
{
if(ch[i]!='?'&&ch[i]!='X')
{
sum=sum+(10-i)*(ch[i]-'0');
}
if(ch[i]=='X')
{
sum=sum+10;
}
if(ch[i]=='?')
{
mark=i;
}
}
if(mark!=9)
{
for(i=0;i<10;i++)
{
if((sum+i*(10-mark))%11==0)
{
printf("%d\n",i);
flag=1;
break;
}
}
}
else
{
for(i=0;i<=10;i++)
{
if((sum+i*(10-mark))%11==0)
{
if(i==10)
{
printf("X\n");
flag=1;
break;
}
else
{
printf("%d\n",i);
flag=1;
break;
}
}
}
}
if(!flag)
printf("-1\n");
return 0;
}