ISBN号码
题:
java代码:
package Vijos;
import java.util.Scanner;
public class Main_004 {
static long sum = 0;
static String str;
static int mark;
static int result;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
str = in.nextLine();
//去除字符串中的干扰字符 -
String strFinally = str.replaceAll("-", "");
//得到sum
for(int i=0;i<strFinally.length()-1;i++) {
sum=sum+Integer.parseInt(String.valueOf(strFinally.charAt(i)))*(i+1);
}
//标记字符串最后一个字符
mark = Integer.parseInt(String.valueOf(strFinally.charAt(strFinally.length()-1)));
result = (int) (sum%11);
//输出结果
if(result == 10 && strFinally.charAt(strFinally.length()-1) == 'X') {
System.out.println("Right");
}
if((sum%11) == mark) {
System.out.println("Right");
}else {
char arr[] = str.toCharArray();
for(int i=0;i<str.length()-1;i++) {
System.out.print(arr[i]);
}
System.out.print(sum%11);
}
}
}
这里也不清楚算法到底哪里出错了还是我题没看清,系统判定30分,改天再改
以下是系统判定:
有想法的朋友欢迎指正哈~