![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
递归算法
穷源溯流
路很长,尽管走便是。
展开
-
P1706 全排列问题
题目描述输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。输入格式n(1≤n≤9)输出格式由1~n组成的所有不重复的数字序列,每行一个序列。每个数字保留5个场宽。输入输出样例输入 #13输出 #1 1 2 3 1 3 2 2 1 3 2 ...原创 2020-02-01 10:07:56 · 1070 阅读 · 0 评论 -
1316:数的计数(Noip2001)
【题目描述】我们要求找出具有下列性质数的个数(包括输入的自然数n)。先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:不作任何处理;在它的左边加上一个自然数,但该自然数不能超过原数的一半;加上数后,继续按此规则进行处理,直到不能再加自然数为止。【输入】自然数n(n≤1000)。【输出】满足条件的数。【输入样例】6 满足条件的...原创 2020-01-31 16:44:29 · 1424 阅读 · 0 评论 -
1199:全排列
【题目描述】给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。我们假设对于小写字母有‘a’ <‘b’ < ... <‘y’<‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。【输入】只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。【输出】输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小...原创 2020-02-01 09:39:29 · 1367 阅读 · 0 评论 -
1206:放苹果(递归)&&(深搜)
【题目描述】把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。【输入】第一行是测试数据的数目t(0≤t≤20)。以下每行均包含二个整数M和N,以空格分开。1≤M,N≤10。【输出】对输入的每组数据M和N,用一行输出相应的K。【输入样例】17 3【输出样例】8当苹...原创 2020-01-29 15:49:31 · 1205 阅读 · 0 评论 -
1205:汉诺塔问题
【题目描述】约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到中间的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。这是一个著名的问题,几乎所有的教材上都有这个问题。由于条件是一次只能移动一个盘,且不允许大盘放在小盘上面,所以64个盘的移动次数是:18,446,744,0...原创 2020-01-29 14:49:25 · 755 阅读 · 0 评论 -
1210:因子分解
【题目描述】输入一个数,输出其素因子分解表达式。【输入】输入一个整数 n (2≤n<100)。【输出】输出该整数的因子分解表达式。表达式中各个素数从小到大排列。如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。【输入样例】60【输出样例】2^2*3*5题目解析:本题所用基本 求因子递归...原创 2020-01-28 13:09:30 · 1476 阅读 · 0 评论 -
1209:分数求和
【题目描述】输入n个分数并对他们求和,并用最简形式表示。所谓最简形式是指:分子分母的最大公约数为1;若最终结果的分母为1,则直接用整数表示。如:56、103均是最简形式,而36需要化简为12,31需要化简为3。分子和分母均不为0,也不为负数。【输入】第一行是一个整数n,表示分数个数,1≤n≤10;接下来n行,每行一个分数,用"p/q"的形式表...原创 2020-01-28 12:12:02 · 1561 阅读 · 0 评论 -
1208:2的幂次方表示
【题目描述】任何一个正整数都可以用2的幂次方表示。例如:137=27+23+20同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:2(7)+2(3)+2(0)进一步:7=22+2+20(21用2表示)3=2+20所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)又如:1315=210+28+25...原创 2020-01-27 20:42:17 · 590 阅读 · 0 评论 -
1203:扩号匹配问题
【题目描述】在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注。【输入】输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和...原创 2020-01-27 15:50:54 · 1031 阅读 · 0 评论 -
1198:逆波兰表达式
【题目描述】逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。【输入】输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。...原创 2020-01-25 23:20:54 · 965 阅读 · 0 评论 -
1200:分解因数
【题目描述】给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×an,并且1<a1≤a2≤a3≤...≤an,问这样的分解的种数有多少。注意到a=a也是一种分解。【输入】第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1<a<32768)。【输出】n行,每行输出对应一个输入...原创 2020-01-26 11:39:06 · 1007 阅读 · 0 评论 -
1211:判断元素是否存在
【题目描述】有一个集合M是这样生成的:(1) 已知k是集合M的元素; (2) 如果y是M的元素,那么,2y+1和3y+1都是M的元素;(3) 除了上述二种情况外,没有别的数能够成为M的一个元素。问题:任意给定k和x,请判断x是否是M的元素。这里的k是无符号整数,x 不大于 100000,如果是,则输出YES,否则,输出NO。【输入】输入整数 k 和 x, 逗号间隔。【输出...原创 2020-01-24 11:44:08 · 1138 阅读 · 0 评论 -
1207:求最大公约数问题
【题目描述】给定两个正整数,求它们的最大公约数。【输入】输入一行,包含两个正整数(<1,000,000,000)。【输出】输出一个正整数,即这两个正整数的最大公约数。【输入样例】6 9【输出样例】3【来源】#if(1)#include <iostream>#define A 1000000+5using n...原创 2020-01-22 21:47:13 · 633 阅读 · 0 评论 -
1315:集合的划分
【题目描述】设S是一个具有n个元素的集合,S=〈a1,a2,……,an〉,现将S划分成k个满足下列条件的子集合S1,S2,……,Sk,且满足:1.Si≠∅2.Si∩Sj=∅ (1≤i,j≤k,i≠j)3.S1∪S2∪S3∪…∪Sk=S则称S1,S2,……,Sk是集合S的一个划分。它相当于把S集合中的n个元素a1,a2,…...原创 2020-01-22 18:40:59 · 643 阅读 · 0 评论 -
1204:爬楼梯
【题目描述】树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。【输入】输入包含若干行,每行包含一个正整数N,代表楼梯级数,1≤N≤30。【输出】不同的走法数,每一行输入对应一行输出。【输入样例】5810...原创 2020-01-20 19:38:03 · 1313 阅读 · 0 评论 -
1159:斐波那契数列
【题目描述】用递归函数输出斐波那契数列第n项。0,1,1,2,3,5,8,13……【输入】一个正整数n,表示第n项。【输出】第n项是多少。【输入样例】3【输出样例】1#if(1)#include <iostream>using namespace std;int f(int );int main(){ ...原创 2020-01-19 17:38:07 · 415 阅读 · 0 评论 -
1189:Pell数列
【题目描述】Pell数列a1,a2,a3,...的定义是这样的,a1=1,a2=2,...,an=2an−1+an−2(n>2)。给出一个正整数k,要求Pell数列的第k项模上32767是多少。【输入】第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数k (1≤k<1000000)。【输出】n行,每行输出对应一个输入。输...原创 2020-01-18 18:56:18 · 1133 阅读 · 0 评论