1 solutions
-
0
模拟题(O(n))
只考虑余数为0-9
#include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; int n=s.size(); int res=0; //总和 int cnt=1; //第几个数字 for(int i=0;i<n-1;i++) { if(s[i]>='0'&&s[i]<='9') { res=res+cnt*(s[i]-'0'); cnt++; } } //cout<<res<<endl; int r=res%11; if(r==s[n-1]-'0') { cout<<"Right"; } else { s[n-1]=r+'0'; cout<<s; } return 0; }
完整代码
#include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; int n=s.size(); int res=0; //总和 int cnt=1; //第几个数字 for(int i=0;i<n-1;i++) { if(s[i]>='0'&&s[i]<='9') { res=res+cnt*(s[i]-'0'); cnt++; } } //cout<<res<<endl; int r=res%11; if(r==10&&s[n-1]=='X'||r==s[n-1]-'0') { cout<<"Right"; } else{ if(r==10) { s[n-1]='X'; } else{ s[n-1]=r+'0'; } cout<<s; } return 0; }
- 1
Information
- ID
- 421
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 9
- Tags
- # Submissions
- 9
- Accepted
- 4
- Uploaded By