JavaScript递归算法统计(将整数n分成任意两份不能相同的k份)分法的种数
JavaScript递归算法实现将整数n分成k份,任意两份不能相同
题目:
将整数n分成k份,且每份不能为空,任意两种分法不能相同,求有多少种分法。
例如:n=7,k=3,下面三种分法被认为是相同的:(1,1,5)(1,5,1)( 5,1,1)
下面是题目截图:
题目由来:
今天公司单元测试培训,期间看到同事(之前从事的是机器学习算法工作)在做算法题,当时叫他发题目给我试试,想了二十分钟左右还是没思路就没有想下去,今晚回来无聊查了查怎么实现,发现网上没有什么答案,唯一找到的一个是用C++实现的的,这篇博客介绍的,不知道是不是我转错了(电脑没装C++编译器,好久没写C++),按照他的思路改为用JavaScript写后没成功计算,于是想用JavaScript试试实现。以下是使用JavaScript递归实现的,有兴趣的伙伴可以指点指点,有其他方法欢迎留言。
function allotCount(n, k) {var a = []for (var i = 0; i <= 200; i++) {a[i] = []}if(a[n][k])return a[n][k]if (n == k || n-1 == k || k == 1)return a[n][k] = 1if (n < k)return a[n][k] = 0return (a[n - 1][k - 1] = allotCount(n - 1, k - 1)) + (a[n - k][k] = allotCount(n - k, k))}console.log(allotCount(7, 3))
运行结果:
改为console.log(allotCount(17, 4))后,运行结果:
JavaScript递归算法统计(将整数n分成任意两份不能相同的k份)分法的种数相关推荐
- python数组分成两个和相等的子集_javascript,_动态规划——把一个整数数组分成两个和相等的子集,怎么写,javascript - phpStudy...
动态规划--把一个整数数组分成两个和相等的子集,怎么写 当数组nums=[2,3,5]时,测试通过,但当nums=[5,3,2]时,测试就不能通过,这是为什么? window.onload = fun ...
- JavaScript中判断为整数的多种方式
JavaScript中不区分整数和浮点数,所有数字内部都采用64位浮点格式表示,和Java的double类型一样.但实际操作中比如数组索引.位操作则是基于32位整数. 方式一.使用取余运算符判断 任何 ...
- JavaScript覆盖率统计实现
主要需求 1. 支持browser & nodejs 由于javascript既能够在浏览器环境执行,也能够在nodejs环境执行,因此须要能够统计两种环境下单元測试的覆盖率情况. 2. 透明 ...
- python整数类型在每一台计算机上的取值范围是一样的_关于python统计一个整数列表中不同数值种类数的问题。...
下面这段代码中,kind_num用于统计那个整数列表中有几种不同数值的整数. class Solution(object): def distributeCandies(self, candies): ...
- 如何在JavaScript中将浮点数转换为整数?
我想在JavaScript中将浮点数转换为整数. 实际上,我想知道如何同时进行标准转换:截断和舍入. 而且有效,而不是通过转换为字符串和解析. #1楼 按位或运算符 可以使用按位或运算符截断浮点数,它 ...
- 2015 上半年 JavaScript 使用统计数据
jQuery,作为近几年 JS 开发环境中常用的 JavaScript 框架,已经传播到 200 万的新域名,有效的提高了 4% 的市场占有率.这非常令人惊讶,因为现在越来越多的开发者转向 Angul ...
- python输入一个正整数、计算其各个位的数字之和_C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和。...
点击查看C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和.具体信息 答:#include /*包含头文件*/void main() /*主函数*/{ int n, ...
- 统计素数并求和 (20 分)本题要求统计给定整数M和N区间内素数的个数并对它们求和。
本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以 ...
- java浮点数化为整数_[Java教程]javascript浮点数转换成整数三种方法
[Java教程]javascript浮点数转换成整数三种方法 0 2014-06-24 04:00:27 将浮点数转换成整数方法有很多,分享三种常用方法. Summary 暂时我就想到3个方法而已.如 ...
最新文章
- 分库分表就能无限扩容吗,解释得太好了!
- OpenCV Gunnar Farneback的密集光流算法(附完整代码)
- Haproxy安装与配置
- Kubernetes 入门(2)基本组件
- css3和jQuery实现一个简单的标签页效果
- PAT 00-自测1. 打印沙漏(20)
- 《数据整理实践指南》一第2章 是我的问题还是数据的问题
- 百度编辑器复制微信图片无法保存
- 真人发音计算机在线用,文字转语音真人发声在线怎么转换?这种操作最简单
- 2018.5.1 差分放大电路实验
- 电机学他励直流发电机matlab,直流发电机综合实验指导书(全文5篇)
- 华为交换机 查ip冲突_华为交换机根据ip查端口号
- c语言调用even函数,定义一个判断奇偶数的函数even(int n),当n为偶数时返回1,否则返回0,并实现对其调用。...
- 谷歌十大高薪职位:首席软件工程师居首
- 献给面试学生 关键字const是什么意思 ESP(译者:Embedded Systems Programming) --Dan Saks概括了const的所有用法
- Python统计英文、中文、数字、空格等字符数
- 支持webrtc的摄像头
- Oracle存储空间管理
- 同步110序列检测电路
- OpenCV中使用Eigenfaces 或 Fisherfaces进行人脸识别