3 条题解

  • 2
    @ 2026-8-27 11:27:00
    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        string isbn;
        cin>>isbn;
        int nums[9],s=0,h=0;
        for(int i=0;i<isbn.size()&&s<9;i++){
        	if(isbn[i]!='-'){
        	nums[s]=isbn[i]-'0';
        	s+=1;
                }
    	}
    	for(int i=0;i<9;i++){
    		h+=nums[i]*(i+1);
    	}
    	int y=h%11;
    	char zsb;
    	if(y==10){
    		zsb='X';
    	}
    	else{
    		zsb=y+'0';
    	}
    	char ysb=isbn.back();
    	if(ysb==zsb){
    		cout<<"Right";
    	}
    	else{
    		isbn.back()=zsb;
    		cout<<isbn;
    	}
    	return 0;
    }
    

    【深基3.例12】[NOIP2008 普及组] ISBN 号码

    信息

    ID
    97
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    60
    已通过
    26
    上传者