3 条题解
-
3
#include<bits/stdc++.h> using namespace std; int main(){ string s; cin>>s; string num; for(int i=0;i<s.size();i++){ if(s[i]!='-') num+=s[i]; } int sum=0; for(int i=0;i<9;i++){ sum+=(num[i]-'0')*(i+1); } int mod=sum % 11; char ans; if(mod==10) ans='X'; else ans=mod+'0'; if(num[9] == ans){ cout<<"Right"<< endl; } else{ cout<<num[0]<< "-"<<num[1]<<num[2]<<num[3]<<"-"<<num[4]<<num[5]<<num[6]<<num[7]<<num[8]<<"-"<<ans<<endl; } return 0; } -
2
#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; } -
1
别怕孩子们我来给你们写题解了,最简单最通俗最无脑! (os:最近再某书上骂时代峰峻,被被别人骂了很久) 下面请欣赏题解吧(且看且珍惜)
#include<stdio.h> #include<string.h> int main(){ char s[15]={0}; scanf("%s",s); int len=strlen(s),a=s[len-1]-'0',b=0,c=1,d; for(int i=0;i<=11;i++){ if(s[i]!='-'){ b=b+(s[i]-'0')*c; c++; //printf("%d %d\n",b,c); } } d=b%11; //printf("%d %d\n",d,a); if(d==10&&s[len-1]=='X'||d==a){ printf("Right"); }else{ for(int i=0;i<=11;i++){ printf("%c",s[i]); } if(d!=10){ printf("%d",d); }else{ printf("X"); } } return 0; }
- 1
信息
- ID
- 97
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 60
- 已通过
- 26
- 上传者