递归
题目
Continue2021
啥也不懂的大学生
展开
-
M--二分查找
Problem Description给出含有n个数的升序序列,保证序列中的数两两不相等,这n个数编号从1 到n。然后给出q次询问,每次询问给出一个数x,若x存在于此序列中,则输出其编号,否则输出-1。Input单组输入。首先输入一个整数n(1 再接下来的一行包含一个正整数q(1 再接下来的q行,每行包含一个正整数x。Output对于每次询问,输出一原创 2016-12-22 22:30:33 · 481 阅读 · 0 评论 -
螺旋方阵
Problem Descriptionn×n的螺旋方阵当n=5和n=3时分别是如下的形式 请给出一个程序,对于任意的输入n(0<n<11),输出按照上面规律所获得的n×n的螺旋方阵。 Input输入第一行为整数m(0<m<10),代表有m组输入;接下来是m行数据,每行输入一个n(0<n<11)。 Output按照输入的次序,依次输出每一个n×n方阵(一个方阵的同原创 2017-04-18 12:47:58 · 558 阅读 · 0 评论 -
汉诺塔
Problem Description汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。僧侣们搬得汗流满面,可惜当n很大时这原创 2017-04-18 12:42:27 · 225 阅读 · 0 评论 -
猴子分桃
Problem Description老猴子辛苦了一辈子,给那群小猴子们留下了一笔巨大的财富——一大堆桃子。老猴子决定把这些桃子分给小猴子。第一个猴子来了,它把桃子分成五堆,五堆一样多,但还多出一个。它把剩下的一个留给老猴子,自己拿走其中的一堆。第二个猴子来了,它把桃子分成五堆,五堆一样多,但又多出一个。它把多出的一个留给老猴子,自己拿走其中的一堆。后来的小猴子都如此照原创 2017-04-04 21:58:56 · 467 阅读 · 0 评论 -
数学黑洞
Problem Description任意一个4位自然数N(N不能是4个数字一样,如1111、2222、….9999是不可以的,N也不能是6174),将组成自然数N的4个数字重新排列,形成一个最大数和最小数,最大数和最小数相减,其差是还是自然数,将差的各数字再重新排列,又形成一个最大数和最小数,最大数和最小数相减,其差还是自然数。反复进行,直到差是一个神秘数6174(数学黑洞)结束。I原创 2016-12-16 00:19:45 · 288 阅读 · 0 评论 -
蟠桃记
Problem Description孙悟空在大闹蟠桃园的时候,第一天吃掉了所有桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。这下可把神仙们心疼坏了,请帮忙计算一下,第一天开始吃的时候一共有多少个桃子?Input输入数据有多组,每组占一行,包含一个正整数n(1≤n≤30),表示只剩下一个桃子的时候是在原创 2016-12-16 00:10:15 · 380 阅读 · 0 评论 -
汉诺塔系列2
Problem Description用1,2,...,n表示n个盘子,称为1号盘,2号盘,...。号数大盘子就大。经典的汉诺塔问题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上原创 2016-12-14 22:42:33 · 347 阅读 · 0 评论 -
计算组合数
Problem Description计算组合数。C(n,m),表示从n个数中选择m个的组合数。计算公式如下:若:m=0,C(n,m)=1否则, 若 n=1,C(n,m)=1 否则,若m=n,C(n,m)=1 否则 C(n,m) = C(n-1,m-1) + C(n-1,m).Input原创 2016-12-14 22:41:40 · 249 阅读 · 0 评论 -
递归的函数
SubmitStatisticProblem Description给定一个函数 f(a, b, c):如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1;如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20);如果 a 其它情况返回 f(a−1, b, c) + f(a−1, b−1, c) + f(a−1, b, c原创 2016-12-14 22:39:46 · 174 阅读 · 0 评论 -
快速排序
Problem Description给定N(N≤10^5)个整数,要求用快速排序对数据进行升序排列,注意不得使用STL。Input连续输入多组数据,每组输入数据第一行给出正整数N(≤10^5),随后给出N个整数,数字间以空格分隔。Output输出排序后的结果,数字间以一个空格间隔,行末不得有多余空格。Example Input849 38 6原创 2016-12-16 23:37:20 · 291 阅读 · 0 评论 -
马拦过河卒
Problem Description棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0,0)、B点(n,m)(n,m为不超过15的整数),同样马的位置坐标是需要给出的。现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是原创 2016-12-22 22:28:17 · 238 阅读 · 0 评论 -
青蛙过河
Problem Description1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。2)有一队青蛙从小到大编号:1,2,…,n。3)初始时:青蛙只能趴在左岸的石头 L 上,按编号一个落一个,小的落在大的上面-----不允许大的在小的上面。4)在小溪中有S个石柱、有y片荷叶。5)规定:溪中的原创 2016-12-22 22:34:04 · 411 阅读 · 0 评论 -
第X大的数
Problem DescriptionX最近爱上了区间查询问题,给出N (N Input多组输入。每组首先输入一个整数N,代表有N个数,下面一行包含N个整数,用空格隔开。然后为一个整数M,代表有M次询问,下面的M行,每行一个整数X。Output输出N个数中第X大的数。Example Input41 2 2 341234原创 2017-04-18 12:50:00 · 453 阅读 · 0 评论