社区讨论

30分求解

P1055[NOIP 2008 普及组] ISBN 号码参与者 6已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mi6zfeaa
此快照首次捕获于
2025/11/20 13:19
4 个月前
此快照最后确认于
2025/11/20 13:19
4 个月前
查看原帖
import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner;
public class Main {
CPP
private List <Integer> num=new ArrayList<Integer>();

/**
 * 接收输入数值并进行处理
 */
public void initValue() {
	Scanner input=new Scanner(System.in);
	String isbn=input.next();
	String [] isbnnum=isbn.split("-");
	for (int i = isbnnum.length-1; i >= 0; i--) {
		initNum(Integer.parseInt(isbnnum[i]));
	}
	Collections.reverse(num);  //逆序排列list
	int result=0;
	for(int i=0;i<num.size()-1;i++) {
		result=result+num.get(i)*(i+1);
	}
	if (result%11==num.get(9)) {
		System.out.println("Right");
	}else {
		isbnnum[3]=String.valueOf(result%11);
		System.out.print(String.join("-", isbnnum));
	}
}

/**
 * 实例化List集合num
 * @param a
 */
public void initNum(int a) {
	if (a/10==0) {
		num.add(a);
	}else {
		while (a!=0) {
			int b=a%10;
			num.add(b);
			a=a/10;
		}
	}
}

public static void main(String[] args) {
	new Main().initValue();
}
}

回复

5 条回复,欢迎继续交流。

正在加载回复...