ISBN码
* * * *
拉格朗日计划
* * * *
ISBN码

给定ISBN码的前9位,计算其最后一位校检码。

若前9位是a-bcdef-ghi-,则校检码是$−10a−9b−8c-\ldots−2i$模11所得的余数,注意只需关注数位本身,因为连字符可能出现在任意位置。

输出完整的ISBN码,若校检码是10,则用X表示。

本题难度:



解答

按要求计算即可。

最终代码有两行。

代码长度:113字节 vs. 全站第一:93字节。

import sys
for a in sys.argv[1:]:print(a+"0123456789X"[sum(int(a.replace("-","")[i])*(i+1)for i in range(9))%11])