TYVJ p1006 isbn
来源:互联网 发布:天刀捏脸数据怎么来的 编辑:程序博客网 时间:2024/06/07 11:48
P1006 isbn
时间: 1000ms / 空间: 131072KiB / Java类名: Main
背景
NOIP2008年普及组第一题
描述
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。
识别码的计算方法如下:
首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。
你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。
识别码的计算方法如下:
首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。
你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。
输入格式
输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。
输出格式
输出共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。
测试样例1
输入
【样例1】
0-670-82162-4
【样例2】
0-670-82162-0
输出
【样例1】
Right
【样例2】
0-670-82162-4
样例3
8-739-25436-X
样例4
7-115-13880-X
输出
样例3
8-739-25436-4
样例4
Right
思路:先把数字字符提取出来,存到整数型数组里,进行运算,继而判断对11取余后的数的正确与否
#include<stdio.h>#include<string.h>#include<iostream>char s[100];int a[100];int main(){int sum,num;char ch;while(~scanf("%s",s)){num=1;sum=0;int len=strlen(s)-1;for(int i=0;i<len;i++){if(s[i]>='0' && s[i]<='9'){a[num++]=s[i]-'0';}}for(int i=1;i<num;i++)sum+=a[i]*i;sum%=11;if(sum==10)ch='X';elsech=sum+'0';if(ch==s[12])printf("Right\n");else{s[12]=ch;printf("%s\n",s);}}return 0;}
0 0
- TYVJ p1006 isbn
- 【Tyvj P1006】isbn
- |Tyvj|NOIP2008|模拟|P1006 isbn
- P1006 --- isbn
- P1006 isbn
- TYVJ-P1006
- P1006
- ISBN
- ISBN
- isbn
- ISBN
- ISBN
- ISBN
- TYVJ
- vijos-p1006 2008.11.8
- codevs p1006 等差数列
- 洛谷P1006 传纸条
- luogu【P1006】传纸条
- linux内核驱动01-helloworld
- 利用Android手机的NFC功能读取银行卡信息
- debian7开机启动
- 逐帧播放图片
- 大数据与可靠性会碰撞出什么样的Spark?
- TYVJ p1006 isbn
- NSArray & NSString 关系
- Cas(06)——基于数据库的认证
- u-boot-2009.08工程编译过程分析
- Oracle 多行记录合并/连接/聚合字符串的几种方法
- 像素,色彩,分辨率什么的
- 从菜鸟走向大数据高手
- LNK1179: 无效或损坏的文件: 重复的 COMDAT "_IID_IDispatchEx"
- [Obj-C笔记] "self = [super init]"的解释与潜藏bug