递归入门
Jerry Lee の blog
never never never give up.
展开
-
【递归入门】组合的输出
题目描述排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r < = n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。 例如n = 5 ,r = 3 ,所有组合为: 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5 输入一行两个自然数n、r ( 1 < n原创 2017-11-14 14:11:36 · 2116 阅读 · 1 评论 -
【递归入门】组合+判断素数
【递归入门】组合+判断素数题目描述已知 n 个整数b1,b2,…,bn以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34。 现在,要求你计算出和为素数共有多少种。例如上原创 2017-11-15 14:00:54 · 672 阅读 · 0 评论 -
经典DFS PAT 1103
经典DFS PAT 1103题意给定正整数N、K、P,将N表示成K个整数,(可以相同,递减排列)的P次方的和,就是N=n1^P...nk^P。如果有多种方案,那么选择底数和n1+n2...+nk最大的方案;如果还有多种方案,那么选择底数序列的字典序最大的方案。思路步骤1:由于P不小于2,并且在单次运行中是固定的,因此不妨开一个vector<int> fac,在输入P之后就预处理出所有不超过N的原创 2017-11-26 10:50:02 · 654 阅读 · 0 评论