タイトル:書号検証2004年から国際ISBNセンターは「13位国際標準書番号ガイド」を出版しました.元の10桁の本の番号の前に978を入れて商品の分類の標識とします.チェック規則も変更されます.チェックビットの重み付けアルゴリズムは、10ビットISBNのアルゴリズムとは異なり、具体的なアルゴリズムは、
6604 ワード
タイトル:書号検証
国際ISBNセンターは2004年から「13位国際標準書番号案内」を出版しています.元の10桁の本の番号の前に978を入れて商品の分類の標識とします.チェック規則も変更されます.チェックビットの重み付けアルゴリズムは、10ビットのISBNのアルゴリズムとは異なり、具体的なアルゴリズムは、ISBNの上位12ビットの奇数ビット(左から数えて)を1でそれぞれ乗り、3で偶数ビットを掛け、積の和は10を模式とし、10とモード値の差は10を取り、(すなわちビットを取る数字)検査ビットの値を得ることができ、その値の範囲は0〜9であるべきです.
以下の手順はこのアルゴリズムを実現しました.ソースコードをよく読んでください.欠けた部分を記入してください.
public class A{static bolean f(String s){int k=1;int sum=0;for(int i=0;i char c=s.charu At(i);if(c='-''')contiue;sum+======u u u u u u__u u_u u u_u u u__u u_u u_u u u u u u u u u\\_uu u u u u u u u u\\\_uu u u u u u u u u u u\\\\\k+;;i f(k>12)break;
注意:空席のコードだけを提出して、既存のコードをコピーしないでください.
国際ISBNセンターは2004年から「13位国際標準書番号案内」を出版しています.元の10桁の本の番号の前に978を入れて商品の分類の標識とします.チェック規則も変更されます.チェックビットの重み付けアルゴリズムは、10ビットのISBNのアルゴリズムとは異なり、具体的なアルゴリズムは、ISBNの上位12ビットの奇数ビット(左から数えて)を1でそれぞれ乗り、3で偶数ビットを掛け、積の和は10を模式とし、10とモード値の差は10を取り、(すなわちビットを取る数字)検査ビットの値を得ることができ、その値の範囲は0〜9であるべきです.
以下の手順はこのアルゴリズムを実現しました.ソースコードをよく読んでください.欠けた部分を記入してください.
public class A{static bolean f(String s){int k=1;int sum=0;for(int i=0;i char c=s.charu At(i);if(c='-''')contiue;sum+======u u u u u u__u u_u u u_u u u__u u_u u_u u u u u u u u u\\_uu u u u u u u u u\\\_uu u u u u u u u u u u\\\\\k+;;i f(k>12)break;
return s.charAt(s.length()-1)-'0' == (10-sum % 10)%10;
}
public static void main(String[] args){
System.out.println(f("978-7-301-04815-3"));
System.out.println(f("978-7-115-38821-6"));
}
)注意:空席のコードだけを提出して、既存のコードをコピーしないでください.
package nine;
public class shyz {
static boolean f(String s){
int k=1;
int sum = 0;
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
if(c=='-' || c==' ') continue;
sum +=Integer.parseInt(String.valueOf(c))*(k % 2 == 0?3:1);//
k++;
if(k>12) break;
}
return s.charAt(s.length()-1)-'0' == (10-sum % 10)%10;
}
public static void main(String[] args){
System.out.println(f("978-7-301-04815-3"));
System.out.println(f("978-7-115-38821-6"));
}
}