10分,求助

P1055 [NOIP2008 普及组] ISBN 号码

lutaoquan2012 @ 2023-03-05 22:30:37

#include<bits/stdc++.h>
using namespace std;
int main(){
    int ans=0;
    string s;
    cin>>s;
    for(int i=0;i<s.size();i++)
        if(s[i]=='-') s.erase(i,1);
    for(int i=0;i<s.size();i++) ans+=s[i]*(i+1);
    ans%=11;
    if(ans==10&&s[s.size()]=='X') cout<<"Right";
    else if(s[s.size()]==ans) cout<<"Right";
    else cout<<s[0]<<"-"<<s[1]<<s[2]<<s[3]<<"-"<<s[4]<<s[5]<<s[6]<<s[7]<<s[8]<<"-"<<ans;
    return 0;
}

by zjhzs666 @ 2023-03-25 19:21:49

像我这样。

#include<bits/stdc++.h>
using namespace std;
int main(){
    char a[13],d;int s=0,w=0,q=0;
    cin>>a;
    d=a[12];
    for(int i=0;i<=11;i++){
        if(a[i]<='9'&&a[i]>='0'){
                s++;
                w+=int(a[i]-'0')*s;
        }
    }
    w=w%11;
    if(d=='X')q=10;
    else q=d-'0';
    if(w==q)cout<<"Right";
    else{
        for(int i=0;i<=11;i++)cout<<a[i];
        if(w==10)cout<<'X';
        else cout<<w;
    }

}

by lutaoquan2012 @ 2023-05-20 12:45:43

谢谢大佬


|