机试算法相关复试机试题库_第1页
机试算法相关复试机试题库_第2页
机试算法相关复试机试题库_第3页
机试算法相关复试机试题库_第4页
机试算法相关复试机试题库_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、归并排序描述:给定一个数列,用归并排序算法把它排成升序。输入:第一行是一个整数 n(n 不大于 10000),表示要排序的数的个数;下面一行是用空格隔开的 n 个整数。输出:输出排序后的数列,每个数字占一行。输入样例:53 2 1 4 512345快速排序描述:给定一个数列,用快速排序算法把它排成升序。输入:第一行是一个整数 n,表示要排序的数的个数;下面一行是用空格隔开的 n 个整数。输出:输出排序后的数列,每个数字占一行。输入样例:53 2 1 4 5123450-1 背包问题描述:需对容量为 c的背包进行装载。从 n 个物品中选取装入背包的物品,每件物品i 的重量为 wi ,价值为 pi

2、 。对于可行的背包装载,背包中物品的总重量不能超过背包的容量,最佳装载是指所装入的物品价值最高。输入:多个测例,每个测例的输入占三行。第一行两个整数:n(n=10)和 c,第二行 n 个整数分别是 w1 到 wn,第三行 n 个整数分别是 p1 到 pn。n 和 c 都等于零标志输入结束。输出:每个测例的输出占一行,输出一个整数,即最佳装载的总价值。输入样例:11122302324014装载问题描述:有两艘船,载重量分别是 c1、c2,n 个集装箱,重量是 wi (i=1n),且所有集装箱的总重量不超过 c1+c2。确定是否有可能将所有集装箱全部装入两艘船。输入:多个测例,每个测例的输入占两行

3、。第一行一次是 c1、c2 和 n(n=10);第二行 n 个整数表示 wi (i=1n)。n 等于 0 标志输入结束。输出:对于每个测例在单独的一行内输出 Yes 或 No。输入样例:7878087980220Yes No堡垒问题描述:城堡是一个 44 的方格,为了城堡,现需要在某些格子里修建一些堡垒。城堡中的某些格子是墙,其余格子都是空格,堡垒只能建在空格里,每个堡垒都可以向上下左右四个方向射击,如果两个堡垒在同一行或同一列,且中间没有墙相隔,则两个堡垒都会把对方打掉。问对于给定的一种状态,最多能够修建几个堡垒。输入:每个测例以一个整数 n(1=n=4)开始,表示城堡的大小。接下来是 n

4、行字符每行 n 个,X表示该位置是墙,.表示该位置是空格。n 等于 0 标志输入结束。输出:每个测例在单独的一行输出一个整数:最多修建堡垒的个数。输入样例:4.X. XX. 2XX.X 3.X. X.X.X. 3.XX.XX 4. 0515248 皇后问题描述:输出 8 皇后问题所有结果。输入:没有输入。输出:每个结果第一行是 No n:的形式,n 表示输出的是第几个结果;下面 8 行,每行 8 个字符,A表示皇后,.表示空格。不同的结果中,先输出第一个皇后位置靠前的结果;第一个皇后位置相同,先输出第二个皇后位置靠前的结果;依次类推。输入样例:输出的前几行: No 1:A.A.A.A.A.A.

5、A.A.No 2: A.A.A.A.A.A.A.A.素数环问题描述:把1到 20 这重新排列,使得排列后的序列 A 满足:任意相邻两个数之和是素数不存在满足条件 a 的序列 B 使得:A和B 的前 k(0 = k = 19)项相同且 B的第 k+1A 的第 k+1。输入:没有输入。输出:输出 A,两个数字之间用一个空格隔开,第一个数字前面和最后一个数字后面没有空格。输入样例:迷宫问题描述:给一个 2020 的迷宫、起点坐标和终点坐标,问从起点是否能到达终点。输入:多个测例。输入的第一行是一个整数 n,表示测例的个数。接下来是 n 个测例,每个测例占 21 行,第一行四个整数 x1,y1,x2,

6、y2 是起止点的位置(坐标从零开始),(x1,y1)是起点,(x2,y2)是终点。下面 20 行每行 20 个字符,.表示空格;X表示墙。输出:每个测例的输出占一行,输出 Yes 或 No。输入样例:20 0 19 19.XX. 0 0 19 19.X.X.X.X.X.X.X.X.X.X.X.No Yes完全数描述:如果一个大于 2 的整数的不包含它自身的约数(即能将其整除的数)之和恰好等于它本身,则称其为完全数。如:6123,所以,6 是个完全数。给定一个数 N,编程从小到大输出小于等于 N 的所有完全数。输入:一个正整数 N。输出:输出小于等于 N 的所有完全数,每个占一行。输入样例:10

7、0628判素数描述:给出一个数 N(2=N=10000),判定它是否为素数。素数:一个大于 2 的数,除了 1 和它本身,再没有其他的整数能将其整除的数叫素数。输入:从标准输入输入一个整数。输出:若给定数为素数,向标准输出输出“Yes”,否则,输出“No”。输入样例:997Yes冒泡排序描述:给定 N(1N1000)个整数,每个整数的大小都在 long 型整数的表示范围内,请对这 N 个数进行排序,结果按从小到大的顺序输出。输入:第一行从标准输入输入一个整数 N,在接下来的 N 行,每行一个整数。输出:将这 N 个整数排序后,从小到大输出到标准输出,每个整数占一行。输入样例:554321123

8、45数字河描述:数字河中的一个数 n的后继数是 n 加上其每位数字的和。例如,12345 的后继数是 12360,因为 123451234512360。如果数字河的第一个数为 k,就称此数字河为 river k。例如,river 480 代表序列480, 492, 507,519, .,river 483 代表序列483, 498, 519, .。当两个数字河有相同的元素时,称这两个数字河在此元素处相遇。例如,river 480 和 river 483 在元素 519 处相遇。所有数字河都会和 river 1, river3 或 river 9 相遇。编程计算给定的数字河最先与以上三条河流中的

9、哪一条相遇,在何元素处相遇?输入:输入文件包括多组测试用例,每个测试用例占一行,以“0”标志文件结束,该行无需处理。每行给定一个整数 n ,(1=n=16384) ,即 river n。输出:对于每个测试用例输出两行,第一行为测试用例号,第二行输出“meetsriver x at y”。其中,y 表示 river n 最先遇到的 river= 1,3,9)。x 中的最小元素值(x输入样例:117520Case #1meets river Case #2meets river9 at 1171 at 107矩阵乘法描述:对给定的两个“实数”矩阵,输出它们的乘积。输入:输入文件包括多组测试用例,以

10、“0 0 0”标志文件结束,该行无需处理。每个测试用例第一行为三个正整数 m,n,k (1=m,n,k=10 ),表示以下 m 行为一个 m*n 的矩阵 A ,再接下来的 n 行为 n*k 的矩阵 B 。每行各元素间用一个空格隔开。输出:输出矩阵A 与矩阵B 的乘积C=A*B 。C 中元素一律“四舍五入”保留一位小数。每个测试用例之间输出一个空行。输入样例:21415912325264363 47 810 11122441.12.10 01.22.201.3 1.42.3 2.438.083.044.098.050.0 56.0113.0 128.010.611.211.8 12.4二叉排序树

11、描述:已知二叉排序树中结点数据域为整数,根据键盘输入不同个数的数据构造二叉排序树,设计递归算法输出树中所有大于或等于给定值 x 的结点,并以函数的参数返回输出的结点个数并打印。假设以二叉链表为 lchild data rchild结构,其结点结构为:输入:先输入数据的个数 n,然后连续的 n 行每行一个正整数表示结点的值,最后输入正整数 x。输出:输出树中所有大于或等于给定值 x 的结点的值和这样的结点的个数,每个数据占一行。输入样例:427947792数列描述:已知 k 阶裴波数列的定义为 f0=0,f1=0,fk-2=0, fk-1=1;fn=fn-1+fn-2+fn-k,n=k,k+1,

12、试编写求 k 阶裴波数列的第 m 项值的函数算法,k 和 m 均以值调用的形式在函数参数表中出现。输入:输入两个正整数 k m(其中 1KM,本题所有数据都在长整形数据的范围之内)输出:输出 k 阶裴波数列的第 m 项值 fm。输入样例:(注意:本题所涉及的所有数据都在长整形数据的范围之内)2 3选描述:某有 2m 个儿子,现在要从中选出一个做,不知道该把那一个皇子立为,于是决定用下面的方法来选出,设每个的分别 1、2、3、2m,按顺时针方向站成一个圆圈,现在从 1 号开始按顺时针方向数,数到第 n 个人,把他淘汰出局,然后从他的下一个人开始上述过程,当第 m 个人被淘汰时,转变方向继续从 1

13、 开始数,重复上述过程,最后剩下的皇子将被立为。现在请你写一个程序,计算出几号皇子将被立为。输入:输入两个正整数 mn输出:输出的输入样例:3 21素数表描述:输出素数表输入:输入两个正整数 m n(其中 1 m n 100000000,且 n-m 10000)。输出:按从小到大输出大于等于 m 且小于等于 n 的所有素数,每个数占一行。输入样例:2 5235IP 地址描述:想象一下你正在从输入设备上读入比特流,它表示的是 IP 地址,你现在的任务是把一个 32 位长的由1和0的序列转换成一个由.分隔成 4 段的 IP 地址。即每 8 位转换成一个十进制数,总共 4 段,由.分隔输入:输入数据

14、的第一行是一个正整数 n(1=n=9),表示总共有 n 行数据需要你转换。接下来的 n 行里,每行都是一个 32 位的由1和0组成的串。输出:输出数据是 n 行,每行是一个由.分隔成 4 段的 IP 地址。输入样例:4000000000000000000000000000000000000001111111110010110000000000000000000100.0.0.03.128.255.255203.132.229.12880.16.0.1柱状图描述:写一个程序,读入4 行大写字母(每行不超过80 个字符),打印出如Sle Output的一个垂直的柱状图显示出每个大写字母出现的次数(

15、只显示大写字母,不显示空格、数字和标点符号等)。输入:输入 4 行 ASCII 码字符,每行不超过 80 个字符。输出:如图形式输出,输出中任何一行的行尾不能包含无用的空格,也不要在开始输出任何空行。输入样例:THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.THIS IS AN EXLE TO TEST FOR YOURHISTOGRO!ROGRAM.* A* B* C* D* E* F* G* H* I* J* K* L* M* N* O* P* Q* * * * * * * * * R S T U V W X Y Z跳马描述:给一个 200200

16、的棋盘,问国际象棋的马从给定的起点到给定的终点最少需要几步。(此题要求用广度优先搜索)输入:输入数据包含 4 个整数表示起点和终点的坐标。输出:输出从起点到达终点的最少步数。输入样例:0 0 1 1问题描述:设有 N 名同学手拉手围成一圈,自 1、2、3、开始续数数,每数到 M 将此同学从圈中拉走, 求最后被拉走的同学的,现从 1 号开始连输入:两个正整数,分别为 N 和 M。0N=100;0M65535输出:一个正整数,为最后被拉走的同学的,最后输出回车输入样例:10010264字符串查找描述:给你一个字母不重复的字符串,再给你一个字母,请你编写程序输出该字母在字符串中第一次出现时候的位置,

17、如果不在该字符串中,则输出-1 ;本题区分大小写。输入:一个长度不大于 20 的字符串,和一个字母,它们中间用一个空格格开输出:输出要查找的字母在字符串中第一次出现时候的位置,最后输出一个回车输入样例:English g3最长公共子序列时限:1000ms 内存限制:200000K总时限:3000ms描述:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列 X=,则另一序列 Z=是 X 的子序列是指存在一个严格递增的下标序列 ,使得对于所有 j=1,2,k有:Xij Zj如果一个序列 S 即是 A 的子序列又是 B 的子序列,则称S是 A、B 的公共子序列。求 A、B

18、 所有公共子序列总最长的序列的长度。输入:输入共两行,每行一个由字母和数字组成的字符串,代表序列 A、B。A、B 的长度不超过 10000 个字符。输出:一个整数,表示最长各个子序列的长度。格式:prf(%dn);输入样例:programming contest2电子老鼠闯迷宫描述:有一只电子老鼠被困在如下图所示的迷宫中。这是一个 12*12 单元的正方形迷宫,黑色部分表示建筑物,白色部分是路。电子老鼠可以在向上、下、左、右行走,每一步走一个格子。现给定一个起点 S 和一个终点 T,求出电子老鼠最少要几步从起点走到终点。输入:本题包含一个测例。在测例的第一行有四个由空格分隔的整数,分别表示起点

19、的坐标 S(x.y)和终点的坐标 T(x,y)。从第二行开始的 12 行中,每行有 12 个字符,描述迷宫的情况,其中X表示建筑物,.表示路.输出:输出一个整数,即电子老鼠走出迷宫至少需要的步数。输入样例:2 9 11 8X.XX.XX.X X.X.X.XXX X.X.X.XX.XX.X.X.X.28跳马描述:在国际象棋中,马的走法与中车象棋类似,即俗话说的“马走日”,下图所示即国际象棋中马(K)在一步能到达的格子(其中黑色的格子是能到达的位置)。现有一 200*200 大小的国际象棋棋盘,棋盘中仅有一个马,给定马的当前位置(S)和目标位置(T),求出马最少需要多少跳才能从当前位置到达目标位置

20、。输入:本题包含多个测例。输入数据的第一行有一个整数 N(1=N=1000),表示测例的个数,接下来的每一行有四个以空格分隔的整数,分别表示马当前位置及目标位置的横、纵坐标 C(x,y)和 G(x,y)。输出:对于每个测例,在单独的一行内输出一个整数,即马从当前位置跳到目标位置最少的跳数。输入样例:21 1 2 11 5 5 134独轮车描述:独轮车的上有红、黄、蓝、白、绿(依顺时针序)5 种颜色,在一个如下图所示的 20*20 的迷每走一个格子,上的颜色变化一次。独轮车只能向前推或在原地转向。每走一格或原地转向 90起点(S)和一个终点(T),求独轮车以时间。消耗一个时间。现给定一个上的指定

21、颜色到达终点所需的最短输入:本题包含一个测例。测例中分别用一个大写字母表示方向和的颜色,其对应关系为:E-东、S-南、W-西、N-北;R-红、Y-黄、B-蓝、W-白、G-绿。在测试数据的第一行有以空格分隔的两个整数和两个大写字母,分别表示起点的坐标 S(x,y)、的颜色和开始的方向,第二行有以空格分隔的两个整数和一个大写字母,表示终点的坐标 T(x,y)和到达终点时的颜色,从第三行开始的20 行每行内包含 20 个字符,表示迷宫的状态。其中X表示建筑物,.表示路.输出:在单独的一行内输出一个整数,即满足题目要求的最短时间。输入样例:3 4 R N 15 17 YXX.XXX.X.X.X.X X

22、.XX.X.X.X.X.X.X.XX.X.XX.X.X.XXXXX.X.XX.X.X.XXX.XX.X.X XX.X.X.X.X.X.XXX.六数码问题描述:现有一两行三列的表格如下:A B CD E F把 1、2、3、4、5、6 六个数字分别填入 A、B、C、D、E、F 格子中,每个格子一个数字且各不相同。每种不同的填法称为一种布局。如下:布局3 1布局 2定义 变换如下:把 A 格中的数字放入 B 格,把 B 格中的数字放入 E 格,把 E格中的数字放入 D 格,把 D 格中的数字放入 A 格。定义 变换如下:把 B 格中的数字放入 C 格,把 C 格中的数字放入 F 格,把 F格中的数字

23、放入 E 格,把 E 格中的数字放入 B 格。问:对于给定的布局,可否通过有限次的 变换和 变换变成下面的目标布局:1 2 34 5 6目标布局输入:本题有多个测例,每行一个,以 EOF 为输入结束标志。每个测例的输入是1到6 这六个数字的一个排列,空格隔开,表示初始布局 ABCDEF 格中依次填入的数字。输出:每个输出占一行。可以转换的,打印 Yes;不可以转换的,打印 No。输入样例:1No Yes防卫描述:一种新型的防卫可截击多个。它可以向前飞行,也可以用很快的速,但不可以向后或向上飞行。但有一度向下飞行,可以毫无损伤地截击进攻个缺点,尽管它发射时可以达到任意高度,但它只能截击比它上次截

24、击时所处高度低或者高度相同的。现对这种新型防卫进试,在每一次测试中,发射一系列的测试(这些发射的间隔时间固定,飞行速度相同),该防卫所能获得的信息包括各进攻的高度,以及它们发射次序。现要求编一程序,求在每次测试中,该防卫能被截击应满足下列两个条件之一:最多能截击的进攻数量,一个a)它是该次测试中第一个被防卫截击的;b)它是在上一次被截击的发射后发射,且高度不大于上一次被截击的高度的。输入:多个测例。每个测例第一行是一个整数 n(n 不超过 100),第二行 n 个整数表示度(数字的顺序即发射的顺序)。n0 表示输入结束。的高输出:每个测例在单独的一行内输出截击的最大数目。输入样例:55 6 1

25、00 6 612赛马描述:与 现已赛马,双方各有 n 匹马参赛(n=100),每场比赛赌注为 1 两黄金,与的每匹马的速度,并且肯定是按马的速度从快到慢出场,现要你写一个程序帮助计算他最好的结果是赢多少两黄金(输用负数表示)。输入:多个测例。每个测例三行:第一行一个整数 n,表示双方各有 n 匹马;第二行 n 个整数分别表示的 n 匹马的速度;第三行 n 个整数分别表示的 n 匹马的速度。n0 表示输入结束。输出:每行一个整数,最多能赢多少两黄金。输入样例:39295220202208387717420201010200201000计算矩阵连乘积描述:在科学计算中经常要计算矩阵的乘积。矩阵A和

26、B 可乘的条件是矩阵 A 的列数等于矩阵 B 的行数。若 A 是一个 pq 的矩阵,B 是一个 qr 的矩阵,则其乘积 C=AB是一个 pr 的矩阵。计算 C=AB 总共需要 pqr 次乘法。现在是,给定 n 个矩阵A1,A2,An。其中 Ai 与 Ai+1 是可乘的,i=1,2,n-1。要求计算出这 n 个矩阵的连乘积 A1A2An 最少需要多少次乘法。输入:输入数据的第一行是一个整树 n(0 n = 10),表示矩阵的个数。接下来的 n 行每行两个整数 p,q( 0 p,q 100),分别表示一个矩阵的行数和列数。输出:输出一个整数:计算连乘积最少需要乘法的次数。输入样例:10123456

27、78234567899 1010 11438时钟夹角描述:常见的钟表一般都有时针和分针,在任意时刻时针和分针都形成一定夹角。现已知当前的时刻,编程求出该时刻时针和分针的夹角(该夹角小于或等于 180 度)。输入当前的时刻值(24 小时制),格式为“小时:分”,例如:11:12输入:输入当前的时刻值(24 小时制),格式为“小时:分”,2 个数值均为整型输出:时针和分针的夹角值,该夹角小于或等于 180 度,1 个浮点型,结果保留小数点后3位 输入样例:11:1296.000方程求解描述:迭代法是用于求解方程或方程组近似根的一种常用的算法设计方法。设方程为 f(x)=0,用某种数学方法推导出来的

28、等价的形式 x=g(x),然后按一下步骤进行: 1)选一个方程的近似根,赋给变量 x0;将 x0 的值保存于变量 x1,然后计算 g(x1),并将结果存于 x0当 x0 与 x1 的差的绝对值还小于指定的精度要求时,重复步骤 2若方程有根,并且用上述方法计算出来的近似根序列收敛,则按照上述方法求得的 x0 就认为是方程的根。上述方法用 C 程序的形式表示如下: x0=初始近似根dox1 =x0;x0 = g(x1); /*按特定的方程计算新的近似根*/while(fabs(x0-x1)大于精度要求);prf(方程的近似根是%fn,x0);试用迭代公式为X(n+1) = 0.5*(x(n)+a/

29、x(n),计算 a 为不同值的时候的结果(初值为 1.0,精度要求为 1e-4)。输入:一个整型数据 a,a 大于等于 1,小于等于 10输出:结果 x0,结果保留小数点后 3 位输入样例:11.000排序描述:给定一个已经排序好数组,要求输入一个数后,按原来的排序规律中到原数组输入:输入一个整数 n(n10000),代表已经排序好的数组大小,接下来 n 个整数为已排序数组最后输入要的整数 m.输出:输出以后的数组,每个数占一行,共 n行输入样例:5234561123456三角描述:按要求输出 1三角(如下)的前 n 行.1111123413 16 4 1. . . . . . . . . .

30、 . .输入:一个整数 n.输出:三角的前 n 行.输入样例:211 1HumbleNumber描述:如果一个数没有 2,3,5,7 以为的素数因子,那么这个数被称为“Humble Number”。前 20 个“Humble Number”是:1,2,3,4,5,6,7,8,9,10, 12,14,15,16,18,20,21,24,25,27。经验证,2000000000 以内的“Humble Number”共有 5842 个。你的任务是编写一个程序,根据要求输出序列中的某一个数。输入:输入数据是一列整数,每行一个,表示要求输出的数再“Humble Number”序列中的序数,输入的结束是一

31、个数字 0,这个数字不作处理。输出:对于每一个输入的数字,输出“Humble数字占一行。Number”数列中相应位置的数字,每个输入样例:12341112100058420123412143858752000000000来源:2006 西北工业大学程序设计竞赛决赛题 A素数描述:素数就是只能被它自己和 1 整除的数。在这次里,你需要删减出在1到N (包括 N)的素数里的一些素数。你的程序要读入一个数 N,决定素数段的长度然后如果中间有偶数个素数,输出中间 C2 个,如果中间有奇数个素数,输出中间(C21)个。输入:输入数据的每一行有两个数一个数字(1=N=1000)表示要求的素数段在1 和 N

32、 之间。第二个数字(1=C=N)表示要求偶数情况下要输出的中间 C2 个;或奇数情况下要输出的(C21)个。输出:对于每一组输入的数据,你都要输出 N,一个空格,C,一个冒号(:),然后是以上定义的要输出的素数列。如果要输出的素数数目多于时间有的素数,就输出所有的素数。每个数前面有一个空格。输入样例:21 2212: 5 7 11182: 3 5 7 111818: 1 2 3 5 7 11 13 17100 7: 13 17 19 23 29 31 37 41 43 47 53 59 61 67来源:2006 西北工业大学程序设计竞赛决赛题 B数字根描述:一个正整数的数字根是指该数字各位数字

33、之和,如果和是一个个位数,那么这个数字就是它的数字根,如果和是个两位或多于两位的数字,那么就继续求和直到得到个位数。例如:数字 24,把2和4 相加,得到 6,那么 6 就是 24 的数字根;又比如数字 39,把数字3和9 相加,得到 12,因为 12 时是两位数,所以继续把1和2 相加,得到 3,于是 3 就是 39 的数字根。输入:输入将包括一列正整数,每行只有一个数字 N,当一行中仅有数字 0 时,表示输入结束。输出:对于每一个输入的正整数,在单独的一行里输出它的数字根。输入样例:2439063来源:2006 西北工业大学程序设计竞赛决赛题 D数字台阶描述:从平面坐标的(0,0)点开始,

34、 2,。可以写出所有的非负的整数 0,1,例如 1,2,和 3 分别写在(1,1),(2,0),和(3,1)点,然后按这种格式继续写出所有的数字:可以现在需要你写出一个程序读入坐标点(x,y),判断该点出的数字为多少(如果有点的话),(x,y)均为 0 到 5000 之间的数字。输入:输入的第一行是数字 N(N1000), 表示为测试数据的个数。接下来将有 N 有测试数据,每行将有 两个数字,分别代表 x 和 y,既坐标(x,y)的位置。输出:对于每一行输入的x和 y,输出该点的数字,每行一个。如果该点没有数字,打印 No Number.输入样例:34 26 63 4612No Number来

35、源:2006 西北工业大学程序设计竞赛决赛题 E字母倒置描述:给出一个句子,把每一个字母倒置,但不改变单词的顺序。输入:这个题有多个 CASE。第一行给出一个正整数 N(N500),然后紧接着一个空行,再紧接着 N 个数据块,。每一个数据块,包括一个正整数T与T 行英语句子。句子总长不超过 300。每两个数据块之间有一个空行。每个句子只包含大写字母与小写字母。输出:对于每个数据块 一行一句输出。每两个数据块之间用一个空行分隔。输入样例:13I am happy todayTo be or not to beI want to whe practice contestI ma yppah yad

36、ot oT eb ro ton ot ebI tnaw ot niw eht ecitcarp tsetnoc阶乘描述:给一个整数,请输出该数字阶乘的后缀 0 的个数,例如:数字 7,它的阶乘为 5040,后面有一个 0,则输出 1;还有数字 10,它的阶乘为 3628800,后面有两个 0,则输出 2。输入:第一行一个数据 N,小于 100,表示一共要输入 n 个数字,以后 n 行输入一个数字。输出:对应于每一个输入,输出一个满足题目要求的数字。输入样例:6360100102423456873537302183837来源:2006 西北工业大学程序设计竞赛初赛题 A二进制数描述:给你一个 1

37、0 进制正整数(小于等于 106),让你把它转换成 2 进制数,把其中哪一位是 1 的位数输出,按升序排列。(比如说 13 的 2 进制是 1101,它的第 3位是 1,第 2 位是 1,第 1 位是 0,第 0 位是 1,所以输出 0 2 3)输入:第一行是一个整数 d(1=d=20),表示测试数据个数;以下 d 行,每行一个 10进制正整数。输出:d 行对应每个测试数据,把转换成的 2 进制数中哪一位是 1 的位数输出,按升序排列。(比如说 1101,它的第 3 位是 1,第 2 位是 1,第 1 位是 0,第 0 位是 1,所以输出 0 2 3)输入样例:113平均成绩描述:据说很多刚入

38、学的新生很重视自己的成绩,希望自己能排在平均成绩之上。现在你的任务是写一个程序,来输出平均成绩之上的学生的比例。输入:第一行给出一个正整数 C(1=C=1000)表示测试数据的个数。下面有 C 行数据;每一行第一个数 N(1=N=1000)表明班级的人数,紧接着有 N 个整数,表示每个人的成绩 G(1=G 1其中 n,x 为任意正整数。n,x 均不大于 8。输入:2 个正整数 n x。输出:多项式的结果输入样例:6 640028求解逆波兰表达式描述:编写函数add(char s);计算字符串形式的逆波兰表达式(即两个操作数,计算符在后)。本题内,保证每个操作数均为 1 位数。操作符有+,-,*

39、,/四种。且保证计算过程中除法运算全部为整数除法,结果为整数。如 23+4*,,结果 20输入:一行字符串,长度不超过 20。输出:逆波兰表达式的计算结果。输入样例:23+4*20童年的回忆计算 24描述:很多年过去了,每当想起儿时跟表弟玩计算 24 的地微微一笑。时的情景,还会情不自禁的规则很简单:一副牌,乱序后每局抽出 4 张,计算牌面点数经四则运算是否能得到 24。先计算出的人扼出计算方法,验证无误后获得本局比赛胜利,得到 4。全部牌用完后谁手中的牌多即获得最后的胜利!有些题目很简单,如 2,2,2,3,常常看到你争我抢的局面,而有的题目则不太容易算出,甚至可能误判为无解,如 2,4,9

40、,10现在,都学会了编程。为了在多年后再一争高下,决定进行一次新的比拼:看谁写出的程序能既快又准地算出结果!比赛的基本规则不变,即仍是每局 4 个整数,运用四则运算(可以加括号),但为了降低程序设计的难度,除法的结果只保留整数部分,即 5/2=2。怎么样,你是不是也想加入的比赛呢?看看谁能获得最后的胜利!输入:本题包含多个测例。数据的第一行有一个整数 N(0N10000),表示测例个数。从第二行开始的 N 行,各包含 4 个不大于 15 的以空格分隔的非零整数。输出:对于每个测例,如果可以计算得到 24,则输出“Yes”,否则输出“No”。每个输出占一行。输入样例:22 2 3 32 4 9

41、10Yes Yes生成描述:在为程序设计竞赛做准备时,裁判通常为比赛队员随即长生。但是存在一个问题:总有些难于让人辨认清楚。如:1(数字一)和 l(L 的小写);0(数字零)和 O(o 的大写字母)。一个解决的办法就是:将里的1替换为,0替换为%,l替换为L,O替换为o。现在希望你能设计一个程序能够帮裁判完成此项工作!现在给你 n 个随机生成的,要求将里的1替换为,0替换为%,l替换为L,O替换为o。输出替换后的结果并统计做过替换的个数。输入:对每一个测试数据(有多个测试数据),第一行为的个数 N(N100),以后 N行为队员和相应的过 500。,中间有空格隔开。当N为0 时结束输入。每行总长

42、不超输出:对每个测试数据,第一行输出更改过的数,以后 N 行输出为队员跟对应的更改后的,如果 1 个也没有,输出Noaccountismodified.。输入样例:2Team000001 R1spOdfa Team000002 Rlsp0dfa 1team110 abcdefg332 02Team000001 Team000002 No accountRspodfa RLsp%dfais modified.描述:对于每个象素点,用 RGB 三色的值代表它,用(R,G,B)来表示,其中 R、G、 B 的值都为 0-255(包括边界)。任两个点的距离用下面的这个公式:输入:先给出 16 个点的 R

43、GB 值,再给出若干个点的 RGB 值,对这些点请找出个点中离它们最近的点是哪一个。以三个-1 代表测试结束。面 16输出:对每一个点,输出离他们最近的点,例如:点(77,79,134)最近的点为点(128, 128,128),则输出:(77,79,134)mapsto(128,128,128)输入样例:0 02550 01 11280255 255110 00 128 0128 128 00 0 1280 128 1281282550 10 0255128 1280 000255 255253 254 2557781-179 134218 0-1 -1(0,0,0) maps to (0,0

44、,0)(255,255,255) maps to (255,255,255)(253,254,255) maps to (255,255,255)(77,79,134) maps to (128,128,128)(81,218,0) maps to (126,168,9)来源:2006 西北工业大学程序设计竞赛初赛题 EEKG 序列时限:2000ms 内存限制:50000K总时限:16000ms描述:EKG 序列是按如下规则产生的序列:前两个数是 1 和 2。随后每个元素都是该元前还未出现过的最小的正整数,并且这个元素和与它相邻的前一个元素至少有一个公因子。因此序列中的第三个数是 4。整个序列

45、如下: 1,2,4,6,3,9,12,8,10,5,15,18,14,7,21,24,16,20,22,11,33,27,这个序列有一个有趣的性质就是,所有的正整数都会在这个序列中出现。还有就是所有的素数都是按递增序在这个序列中出现的。你要做的就是对于一个给定的整数,找到它在这个序列中的位置。输入:每个输入数据是一个 n,1=n=300000。占一行。注意在 EKG 序列中所有不超过 300,000 的整数的位置不会超过 1,000,000。输出:对于每一个输入,输出如下的一句:The number n appears in location p.其中 n 就是数人的数据 n,p是n在 EKG 序列中的位置。输入样例:299977The numb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论