![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2016级《程序设计基础 I》提高实验4_递归
文章平均质量分 50
呃奥哦
有些事想想就挺好的,有些事做了才挺好的。
展开
-
递归的函数
Problem 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−1) − f(a-1, b-1,原创 2017-02-10 15:59:49 · 267 阅读 · 0 评论 -
数据结构实验之排序八:快速排序
Problem Description给定N(N≤10^5)个整数,要求用快速排序对数据进行升序排列,注意不得使用STL。 Input 连续输入多组数据,每组输入数据第一行给出正整数N(≤10^5),随后给出N个整数,数字间以空格分隔。 Output 输出排序后的结果,数字间以一个空格间隔,行末不得有多余空格。 Example Input849 38原创 2017-04-25 21:14:39 · 748 阅读 · 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-25 21:13:25 · 348 阅读 · 0 评论 -
数值分解
Problem Description对一个自然数N ( 1 <= N <= 50 ) ,N可以分解成若干个数字(数字可以是1,2,3,….,9)之和,问题是如何分解能使这些数字的乘积最大。Input输入数据有多组,每组占一行,每行包含一个自然数N(1 Output对每组输入,输出有2行。第一行是N分解出的所有数字,以空格分隔,最后一个数字后也有空格;第二行是N分解出的所有原创 2017-02-13 09:22:01 · 415 阅读 · 0 评论 -
蟠桃记
Problem Description孙悟空在大闹蟠桃园的时候,第一天吃掉了所有桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。这下可把神仙们心疼坏了,请帮忙计算一下,第一天开始吃的时候一共有多少个桃子?Input输入数据有多组,每组占一行,包含一个正整数n(1≤n≤30),表示只剩下一个桃子的原创 2017-02-10 17:02:20 · 459 阅读 · 0 评论 -
青蛙过河
Problem Description1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。 2)有一队青蛙从小到大编号:1,2,…,n。 3)初始时:青蛙只能趴在左岸的石头 L 上,按编号一个落一个,小的落在大的上面-----不允许大的在小的上面。 4)在小溪中有S个石柱、有y片荷叶。 5)规定原创 2017-04-25 21:09:40 · 617 阅读 · 0 评论 -
汉诺塔系列2
Problem Description用1,2,...,n表示n个盘子,称为1号盘,2号盘,...。号数大盘子就大。经典的汉诺塔问题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上原创 2017-02-10 16:51:34 · 476 阅读 · 0 评论 -
汉诺塔
Problem Description汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。僧侣们搬得汗流满面,可惜当n很大时这原创 2017-04-25 21:06:52 · 398 阅读 · 2 评论 -
计算组合数
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). Inpu原创 2017-02-10 16:25:21 · 901 阅读 · 0 评论 -
数学黑洞
Problem Description任意一个4位自然数N(N不能是4个数字一样,如1111、2222、….9999是不可以的,N也不能是6174),将组成自然数N的4个数字重新排列,形成一个最大数和最小数,最大数和最小数相减,其差是还是自然数,将差的各数字再重新排列,又形成一个最大数和最小数,最大数和最小数相减,其差还是自然数。反复进行,直到差是一个神秘数6174(数学黑洞)结束。I原创 2017-02-13 09:11:43 · 505 阅读 · 0 评论 -
汉诺塔系列1
Problem Descriptionn个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。由于发生错移产生的系列就增加了,这种错误是放错了柱子,并不会把大盘放到小盘上,即各柱子从下往上的大小仍保持如下关系 :n=m+p+qa1>a2>...>amb1>b2>...>bpc1>c2>...>cq计算所有会产生的系列总数。Inp原创 2017-02-10 16:12:53 · 374 阅读 · 0 评论 -
第X大的数
Problem DescriptionX最近爱上了区间查询问题,给出N (N Input多组输入。每组首先输入一个整数N,代表有N个数,下面一行包含N个整数,用空格隔开。然后为一个整数M,代表有M次询问,下面的M行,每行一个整数X。Output输出N个数中第X大的数。Example Input41 2 2 341234原创 2017-04-25 21:15:24 · 530 阅读 · 1 评论