noip普及组复赛模拟试题7(答案).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
noip普及组复赛模拟试题7(答案)

【试题描述】 给出一个正整数n,然后对n进行一系列处理,处理用以下代码表示: 0  不做任何处理 1  对原数加上100, 若加上100后大于1000,则再减去1000. 2  对原数减去100, 若减去100后小于0,则再加上200 3  对原数除2取整 4  对原数乘4,若乘4之后大于1000,则除以1000取余数。 问 题:输入n,k后,将 n作为原数(1≤ n < 1000), k为处理码的十进制表示(1<k≤30000)。要求将k化为五进制的数,然后以该五进制数从高位到低位的顺序,分别将每位数字作为处理码对原数按上述规则进行处理,求处理后的结果。 【输入描述】n k (2个整数) 【输出描述】 处理后的结果 【输入样例】 33 247 【输出样例】 28 【解题提示】 样例说明: k=247 化为五进制数:1442, 则处理系列为: 1   33+100=133 4   133*4=532 4 532*4=2128 (除以1000取余数,成为128) 2   128-100=28 所以输出28 program ex1764; var n,k,i,t,l:integer; st1,st2:string; begin readln(n,k); st2:=; repeat t:=k mod 5; str(t,st1); st2:=st1+st2; k:=k div 5; until k=0; l:=length(st2); for i:=1 to l do case st2[i] of 1:begin n:=n+100; if n1000 then n:=n-1000;end; 2:begin n:=n-100;if n0 then n:=n+200; end; 3:begin n:=n div 2; end; 4:begin n:=n*4;if n1000 then n:=n mod 1000;end; end; writeln(n); end. 输入 56 1249 输出 936 输入 512 20000 输出 612 输入 1000 30000 输出 200 Description 《贫民窟的百万富翁》获得2009年美国奥斯卡最佳影片,影片的主人公是一个叫贾马尔的小男孩,他在贫民窟长大,后来他参加了一档印度版的《谁想成为百万富翁》电视直播节目,他的特殊成长经历居然使他能够回答这个节目中的每一个问题,最后成功获得百万奖金。其中有一个题目是这样的:读入四个整数(0<每个整数<50000),判断这四个整数能否构成连续的四个奇数,如果可以就输出三行,每行一个等式,每个等式都满足“前一个数+2=后一个数”,否则请将这四个整数从大到小输出(数据之间以一个空格隔开)。 Input 一行,四个空格隔开的整数。( 0 每个整数 50000 ) Output 三行,每行一个等式 或 一行,从大到小排列的4个数 Sample Input 样例1: 17 13 11 15 样例2: 18 13 11 16 Sample Output 样例1: 11+2=13 13+2=15 15+2=17 样例2: 18 16 13 11 Hint 样例1中17、13、11、15可以构成连续的四个奇数11、13、15、17,所以就输出三个等式。样例2中的四个数据18、13、11、16不能构成连续的四个奇数,所以将他们从大到小输出。 program ex1285; var a:array[1..4] of longint; t:longint; i,j:integer; begin for i:=1 to 4 do read(a[i]); readln; for i:=1 to 3 do for j:=i+1 to 4 do if a[i]a[j] then begin t:=a[i];a[i]:=a[j];a[j]:=t; end; i:=1; while (i4) and (a[i]+2=a[i+1]) do inc(i); if (i=4) and (a[1] mod 20) then begin writeln(a[1],+,2,=,a[2]); writeln(a[2],+,2,=,a[3]);

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档