[codevs2419]ISBN号码
水题(各种坑数据,注意特判,一定要把所有条件想全)
var s:string; f:array[0..100] of longint; i,j,k,l,n,ans:longint; begin readln(s); for i:=1 to 10 do f[i]:=ord(s[i])-48; if s[length(s)]='X' then f[10]:=10; for i:=1 to 10 do if s[i]='?' then k:=i; j:=10; f[k]:=0; for i:=1 to 10 do begin f[i]:=f[i]*j; j:=j-1; end; //(10-k+1) for i:=1 to 10 do ans:=ans+f[i]; if ans=0 then begin write(-1); exit; end; for i:=0 to 9 do if (ans+i*(10-k+1)) mod 11=0 then begin write(i); halt; end; if (k=10) and ((ans+10) mod 11 =0) then begin write('X'); halt; end; write(-1); end.
喜欢就收藏一下,vic私人qq:1064864324,加我一起讨论问题,一起进步^-^