3 条题解
-
0
ISBN号码
题目大意:
给你一个字符串,把除最后一位识别码的其他数字分别乘以1,2...9的和加起来对11取余,如果余数为10,那么识别码为X,如果等于最后一位,就输出Right, 如果不等于,就输出正确的字符串
模拟即可(细节看代码注释)
用枚举除了最后一位数字之外的数字和,然后模掉 11,最后特判一下最后一位是 10 的情况,就好了
#include<bits/stdc++.h> using namespace std; int main() { int a,b,c,d,e,f,g,h,i,s1,s2; char j; scanf("%1d-%1d%1d%1d-%1d%1d%1d%1d%1d-%c",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j); s1=(a*1+b*2+c*3+d*4+e*5+f*6+g*7+h*8+i*9)%11; if(j=='X') s2=10; else s2=j-'0'; if(s1==s2) cout<<"Right"; else if(s1==10) cout<<a<<"-"<<b<<c<<d<<"-"<<e<<f<<g<<h<<i<<"-X"; else cout<<a<<"-"<<b<<c<<d<<"-"<<e<<f<<g<<h<<i<<"-"<<s1; return 0; }
最后求个赞qwq
信息
- ID
- 5113
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 380
- 已通过
- 147
- 上传者