oj上机解题报告.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oj上机解题报告

A.jhljx上大学题目描述JHLJX数列,通项如下:JHLJXn = n/1! + n/2! +n/3! + n/4! + n/5! +…… +n/n!所以JHLJX数列的每一项都是一个多项式。数列的前五项:JHLJX(1) = 1JHLJX(2) = 2/1! + 2/2!JHLJX(3) = 3/1! + 3/2! + 3/3!JHLJX(4) = 4/1! + 4/2! + 4/3! + 4/4!JHLJX(5) = 5/1! + 5/2! + 5/3! + 5/4! + 5/5! 求:给出一个正整数n,判断JHLJX数列的第n项是不是正整数。输入输入多组测试数据。每组测试数据只有一行,为一个正整数n,保证n在int范围内。输出如果JHLJX数列的第n项是正整数,则输出“YES”,反之,输出“NO”。输入样例1 2100输出样例YES YES NO提示JHLJXn= n*(1/1! + 1/2! + 1/3! +……+ 1/n!)这样的形式 jhljx保证你算几个数就能发现规律。。直接if else判断还是循环计算?这是一个哲学问题。 jhljx不会告诉你代码少于10行。。 jhljx鼓励大家大胆猜测代码#includeiostream#includecmathusingnamespacestd;intmain(){int n;while(cinn) {if(n3)coutNOendl;elsecoutYESendl; }return0;}思路易证,当且仅当n小于等于3的时候输出为整数,所以用ifelse判断n的大小,大于3输出NO,小于3输出YES即可。B.Ryans ISBN题目描述每一本正式出版的图书都有一个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号码。输入多组测试数据。对于每组测试数据,输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。输出对于每组测试数据,输出共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。输入样例0-670-82162-40-670-82162-0输出样例Right0-670-82162-4代码#includeiostream#includecmathusingnamespacestd;intmain(){char a,t,x;int b[9];int c,m,n,i,k,y;while(cinx) { y=int(x)-0; n=11; b[0]=y; i=1; m=0; m=m+y%11;while(n--) {cina; c=int(a)-48;if(c!=(-3)) { b[i]=c; i=i+1; m=(m+c*(i))%11; } }cint; k=int(t)-48;if(k==40) { k=10; }if(k==m) {coutRightendl; }else {if(m==10)coutb[0]-b[1]b[2]b[3]-b[4]b[5]b[6]b[7]b[8]-Xendl;elsecoutb[0]-b[1]b[2]b[3]-b[4]b[5]b[6

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档