题解:P1055 [NOIP2008 普及组] ISBN 号码

· · 题解

Solution

简单模拟题。先来一个字符串 s,拿来输入那一串号码,再维护一个变量 cnt ,表示现在识别到第 cnt 个数字,和一个变量 sum,表示目前总和。接下来遍历字符串,判断当前位置是否为数字,如果是,那么 cnt 加上 1,再让这个数字乘上 cnt,累加到 sum 中。最后判断识别码是否正确,正确输出 Right,错误就把号码最后一位(识别码)改成 sum 取模 11 的值,再输出。

注意在判断识别码是否正确时别忘了还有个特殊情况,也就是识别码是 X,要特判一下。

代码不放了,很好写。