信息学竞赛提高专练.doc

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

提 高 专 练 2.1 数字三角形(sjx.pas 内存限制32MB 时间限制1S) 如右图所示为一个数字三角形,请编一个程序计算从顶到底的某处的一条路径,使该路径所经过的数字总和最大。(只要求输出总和) 规定:   1、 一步可沿左斜线向下或右斜线向下走;   2、 图形行数小于等于100;   3、 三角形中的数字为0,1,…,99; 测试数据通过键盘逐行输入,如上例数据应以如下所示格式输入: 输入文件:sjx.in 第一行为数据的行数 下面五行为对应的数据 输出文件:sjx.out 数字总最大值。 输入样例: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输出样例: 30 2.2最小公倍数和最大公约数问题(num.pas) 描述 Description 输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P、Q的个数。   条件:1.P、Q是正整数      2.要求P、Q以xO为最大公约数,以yO为最小公倍数。 试求,满足条件的所有可能的两个正整数的个数。 输入格式 Input Format 两个正整数 输出格式 Output Format 满足条件的所有可能的两个正整数的个数 样例输入 Sample Input (num.in) 3 60 样例输出 Sample Output (num.out) 4 注释 Hint 说明:(不用输出)此时的 P  Q 分别为:             3 60             15 12             12 15             60  3 所以,满足条件的所有可能的两个正整数的个数共4种 2.3 级数求和 (sum.pas) 描述 Description 已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。 现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。 输入格式 Input Format (sum.in) 输入 k 输出格式 Output Format (sum.out) 输出 n 样例输入 Sample Input 1 样例输出 Sample Output 2 2.4明明的随机数(random.pas/c/cpp) 【问题描述】 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。 【输入文件】 输入文件random.in 有2行,第1行为1个正整数,表示所生成的随机数的个数: N 第2行有N个用空格隔开的正整数,为所产生的随机数。 【输出文件】 输出文件random.out 也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。 【输入样例】 10 20 40 32 67 40 20 89 300 400 15 【输出样例】 8 15 20 32 40 67 89 300 400 2.5香烟(cigarrete.pas 内存限制32MB 时间限制1S) 你现在有n支香烟。香烟抽完后有香烟蒂头。k个香烟蒂头可以换一支新的香烟。(k > 1)现在一开始有n支香烟,问最多能抽多少支烟?只能利用你现有的烟,不能向别人借烟。 输入格式: 一行,两个整数,n和k。两个整数均在longint范围之内,答案也在longint范围之内。 输出格式: 输出仅一行,一个整数,表示最多能抽多少支烟。 样例输入: 4 3 样例输出: 5 2.6 电梯(elevator.pas内存限制32MB 时间限制1S). 一个简单的数学模拟题! 有一座电梯,它的性能如下: 上升一层需要6秒钟,下降一层需要4秒钟,如果要让它停下,它会停5秒钟. 现在告诉你它要按顺序到达然后停靠的N个楼层,求它需要的时间. 电梯开始在0层,楼梯共有100层. 输入(elevator.in):第一行为N(N<=50),接下来的N行是它N个停靠的楼层. 输出(elevator.out):只有一行,为所需要的时间. 输入样例1: 1 2 输入样例2: 3 2 3 1 输出样例1: 17 输出样例2: 41 2.7 选数(select.pas 内存限制32MB 时间限制1S) 问题描述: 已

文档评论(0)

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

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

1亿VIP精品文档

相关文档