半数集和半数单集问题_半数集问题和半数单集问题区别-程序员宅基地

技术标签: # C/C++  算法分析与设计  

半数集问题描述:
给定一个自然数n,由n 开始可以依次产生半数集set(n)中的数如下。
(1) n∈set(n);
(2) 在n 的左边加上一个自然数,但该自然数不能超过最近添加的数的一半;
(3) 按此规则进行处理,直到不能再添加自然数为止。
例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6 个元素。

注意半数集是多重集。

算法设计:

这是一个典型的递归问题,通过调用自身来解决问题。


半数单集问题:

半数单集类似半数集,区别在于:半数集是多重集,而半数单集不是多重集,即集合中已有的元素不再添加到集合中。
例如:n=24,那么半数集set(24)中的元素1224就有如下两种方式可以生成:
24 → 1224
24 →224 → 1224
所以,1224就是一个被重复计算的元素。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/HLK_1135/article/details/52841175

智能推荐

频解码优化 视-程序员宅基地

[zz]频解码优化 视 (2008-07-24 18:38) 分类: DVB相关 以下通过剖析一些经验来了解视频解码优化1. 在嵌入式系统中实现MPEG4的视频解码有两种方法可行(1)采用ffmpeg(mplayer 的核心就是采用ffmpeg),然后对ffmpeg mp4解码优化1).对IDCT汇编化,并优化VLD的实现 ->inline&汇编化2).根据ARM..._c++ fastmemorycopy

搜索引擎中网络爬虫的设计分析-程序员宅基地

搜索引擎中网络爬虫的设计分析转自-作者:Ackarlix最近研究在研究数据挖掘,寻找相关资料已备学习 下面简单介绍一下搜索引擎的机器爬虫的制作和一些基本要注意的事项。 说的简单易懂一些,网络爬虫跟你使用的〖离线阅读〗工具差不多。说离线,其实还是要跟网络

将Oracle的BLOB类型字段传输到MySQL的LONGTEXT类型字段_oracle blob类型转换成long类型-程序员宅基地

将Oracle的BLOB类型字段传输到MySQL的LONGTEXT类型字段_oracle blob类型转换成long类型

视频解码优化(转载)-程序员宅基地

http://blog.sina.com.cn/s/blog_49aef14b0100oya3.html视频解码优化(转载)(2011-02-15 10:42:26)转载▼标签:杂谈分类: 嵌入式多媒體以下通过剖析一些经验来了解视频解码优化1 在嵌入式系统中实现MPEG4的视频解码有两种方法可行(1)采用ff

CCF-201709-1-(打酱油)_小明带着n元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶-程序员宅基地

一:问题1.问题描述小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。输入格式  输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。输出格式  输出一个整数,表示小明最多可以得到多少瓶酱油。2.测试样例输入40样例输出5样例说明  把40元分成30元和1..._小明带着n元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶

Windows内存管理笔记_heapalloc virtualalloc mapviewoffile-程序员宅基地

《Windows核心编程 - 内存管理》第13章 Windows内存体系结构1.32位系统有4G的虚拟地址空间,我们需要把物理存储器映射到相应的地址空间,才能访问。2.进程的地址空间: a.空指针赋值分区,只是为了捕获对空指针的赋值访问(x86 32位 0x00000000 - 0x0000FFFF 其实空指针返回这个区域的任何一个值都可以而不仅仅是NUL_heapalloc virtualalloc mapviewoffile

随便推点

某数逆向_某数 逆向-程序员宅基地

声明:文章只做技术分享,切勿将文章用于商业行为;若文章侵犯了贵公司的权益,请联系删除。 今天给大家分享一篇关于某数逆向的文章。 说起某数的逆向,可着实是让踩了不少的坑,本次也主要给大家分享一下我逆向的思路以及其中的一些坑点。 拿到网站,首先f12一下,便发现会停在这样一个界面:没错,就是这个无限debug,让你无从断点,影响正常调试。一般来说,如果是静态页面,倒不会有啥影响,直接跳过就完事了;关键某数的代码完全是动态的,你的断点根本没有效果。要过滤掉这个debug也不是没有办法,这.._某数 逆向

5. 数据分析与多项式计算_在车辆行驶中,从驾驶员看到障碍物开始,到作出判断而采取制动措施停车所需的最-程序员宅基地

文章目录A 数据统计分析A.a 求最大值与最小元素A.b 求平均值和中值A.c 求和与求积A.d 累加和与累乘积A.e 求标准差与相关系数A.f 排序B 多项式计算B.a 多项式的表示B.b 多项式的四则运算B.c 多项式的求导(polyder)B.d 多项式积分(polyint)B.e 多项式的求值(polyval;polyvalm)B.f 多项式的求根(roots;poly)C 数据插值(interp)C.a 引例-零件加工问题C.b 数据插值的计算机制C.c 数据插值的实现方法D 曲线拟合(plotf_在车辆行驶中,从驾驶员看到障碍物开始,到作出判断而采取制动措施停车所需的最

安卓应用安全指南 4.10 使用通知_通知 安卓 合规-程序员宅基地

4.10 使用通知 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0Android 提供用于向最终用户发送消息的通知功能。 使用通知会使一个称为状态栏的区域出现在屏幕上,你可以在其中显示图标和消息。在 Android 5.0(API L..._通知 安卓 合规

ARM的七种工作模式与异常_arm异常模式_来跟儿华子的博客-程序员宅基地

未定义模式用于支持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该指令操作时,会进入未定义模式。_arm异常模式

C++中智能指针与Java中垃圾回收机制的读书笔记_c++智能指针与java垃圾回收-程序员宅基地

大一学了C++,上学期又上过Java课,二者有相当多的相似之处,但内存管理机制却有着很大的区别。在C++中,程序员需要自己管理内存,而Java中则完全依靠JVM提供垃圾回收机制。C++人工管理内存程序效率高,但需时时小心;Java则恰恰相反,JVM负责内存的管理,安全性、健壮性可以得到保证,但需要有时时扫描监听实例对象导致效率较低。关于这点,我平时编程中是深有体会的。之前做ACM,用Java解题的_c++智能指针与java垃圾回收