苏省“信息与未来”小学生夏令营 下载本文

内容发布更新时间 : 2024/6/16 20:57:33星期一 下面是文章的全部内容请认真阅读。

城东小学杯

1

2007年江苏省"信息与未来"小学生夏令营活动

计算机操作项目之一:程序设计试题(完成时间:210分钟 )

题一 选夏令营旗手 一年一度的江苏省“信息与未来”小学生夏令营活动又开始了。与每年一样,组织者又设计

【问题描述】 安排了许多有趣的活动,其中第一项依然是挑选本次夏令营的旗手!由于这是一个非常具有荣誉

感的角色,所以报名参加夏令营旗手角逐的营员仍然非常多,营委会于是规定: 将N个人排成一排,编号1~N。从第1人开始进行1~M正向报数,报到M的人出列,再 从下一个人开始继续1到M报数、出列。(注意:按某个方向报数报到尾部时,再反方向继续报 数)。如此进行下去,直到剩下一人为止,这个人就是本次夏令营的旗手。

小明非常渇望能成为旗手,你能编一个程序帮助他实现愿望吗?如果可以的话,你的程序应输出小明的编号。 【输 入】:键盘输入二个整数N,M (2≤N,M≤300,N≥ M ),用一个逗号分隔。 【输 出】:输出到屏幕 。一个整数,表示小明在队列中的编号。 【样 例1】: 输入 输出 9,3 8 注:出列顺序为:3、6、9、5、1、7、2、4

【样 例2】: 输入 输出 8,3 8 注:出列顺序为:3、6、7、2、5、1、4

题二 整数拆段 【问题描述】 一个程序实现吗? 【输 入】:键盘输入一个自然数N。 【输 出】:输出到屏幕 。一个整数,最小乘积。 【样 例】: 输入 输出 321427 2268 注:3*2*14*27=2268 将一个位数为 L ( 4≤L≤10)的自然数N拆成4段,使各段对应的数的乘积最小。你能编

----------------------------------------------------------------------------------------------------------------------------------------------------------------- 2007年8月16日 于泰州城东中心小学

城东小学杯

2

2007年江苏省"信息与未来"小学生夏令营活动

题三 压缩数据的解压 【问题描述】 从输入文件中读取一些被压缩的数据,进行解压,再根据题目要求将结果输出至屏幕。 入】【输: 文件读入。

它的第一行为一个正整数k,指明以下的数据分为k段。 第二行是k段压缩数据串,每个段有两种格式(数之间用一个逗号分隔): 如果每段第1个数n为正,则该段只有两个数,其解压操作是将该段的第2个数重复n次;

如果每段第1个数n为负数,则该段有|n|+1个数,其解压操作是重复该段从第2个数开始 的 |n| 个数一次。 (注: |n|表示取n的绝对值)

【输 出】: 输出到屏幕 。经解压后得到的整数串上所有数字之和。 【样 例】: 文件读入: 5 3 ,2, -5, 0, 1, 2, 3, 4, 5, 1, 5, 0, -4, 4, 3, 2, 1 输出: 31 注:经解压后得到的整数串 2 2 2 0 1 2 3 4 1 1 1 1 1 0 0 0 0 0 4 3 2 1

题四 求数位上的数字 【问题描述】 给出二个整数N和K,求出N 的K次方的结果中的十位数和个位数的数字。 【输 入】:键盘输入二个整数N, K(2≤N,K≤100000000 )。 【输 出】:输出到屏幕。 二个数字(分别表示N 的K次方结果中的十位数和个位数的数字,用一个空格分隔)。 【样 例】: 输入 输出 3,6 2 9 注:36=729 ----------------------------------------------------------------------------------------------------------------------------------------------------------------- 2007年8月16日 于泰州城东中心小学

城东小学杯

3

2007年江苏省"信息与未来"小学生夏令营活动

题五 移动纸牌 【问题描述】 有n堆纸牌(2≤n≤200),排成一行,编号分别为1,2,…n。 已知每堆纸牌有一定的张数,且张数之和均为n的倍数。移动各堆中的任意张纸牌,使每堆的数量达到相同,且移动次数最少。 移动规则: 每次可以移动任意的张数,第1堆可以移向第2堆,第2堆可以移向第1堆或第3堆,。。。。。。 第n 堆只可以移向第n -1堆。 例如,当n=4时:

堆号 1 2 3 4

张数 3 5 4 8 移动的方法有许多种, 其中的一种方案:

① 第2堆向第1堆移动2张,成为:5 3 4 8 ② 第4堆向第3堆移动3张,成为:5 3 7 5 ③ 第3堆向第2堆移动2张,成为:5 5 5 5 经过三次移动,每堆都成为5张。 【输 入】:文件读入。

第一行一个整数n。 第二行n个整数,用逗号分隔。 【输 出】: 输出到屏幕 。一个整数(表示最少移动次数)。 【样 例】: 输入 输出 4 3

----------------------------------------------------------------------------------------------------------------------------------------------------------------- 2007年8月16日 于泰州城东中心小学

3,5,4,8