国际标准书号ISBN用来唯一标识一本合法出版的图书。它由十位数字组成。这十位数字分成4个部分。例如,0-07-881809-5。其中,第一部分是国家编号,第二部分是出版商编号,第三部分是图书编号,第四部分是校验数字。一个合法的ISBN号,10位数字的加权和正好能被11整除,每位数字的权值是它对应的位数。对于0-07-881809-5,校验结果为(0×10+0×9+7×8+8×7+8×6+1×5+8×4+0×3+9×2+5×1) % 11 = 0。所以这个ISBN号是合法的。为了扩大ISBN系统的容量,人们又将十位的ISBN号扩展成13位数。13位的ISBN分为5部分,即在10位数前加上3位ENA(欧洲商品编号)图书产品代码“978”。 例如,978-7-115-18309-5。13位的校验方法也是计算加权和,检查校验和是否能被10整除。但所加的权不是对应的位数而是根据一个系数表:1313131313131。对于978-7-115-18309-5,校验的结果是:
(9×1+7×3+8×1+7×3+1×1+1×3+5×1+1×3+8×1+3×3+0×1+9×3+5×1)% 10 = 0。编写一个程序,检验输入的ISBN号是否合法。输入的ISBN号可以是10位,也可以是13位。