首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
输入一个正数n,输出所有和为n连续正数序列。 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
输入一个正数n,输出所有和为n连续正数序列。 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
admin
2019-03-29
64
问题
输入一个正数n,输出所有和为n连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
选项
答案
void PrintContinuousSequence(int small, int big); ///////////////////////////////////////////////////////////////////////// // Find continuous sequence, whose sum is n ///////////////////////////////////////////////////////////////////////// void FindContinuousSequence(int n) { if(n < 3) return; int small = 1; int big = 2; int middle = (1 + n) / 2; int sum = small + big; while(small < middle) { // we are lucky and find the sequence if(sum == n) PrintContinuousSequence(small, big); // if the current sum is greater than n, // move small forward while(sum > n) { sum -= small; small ++; // we are lucky and find the sequence if(sum == n) PrintContinuousSequence(small, big); } // move big forward big ++; sum += big; } } ///////////////////////////////////////////////////////////////////////// // Print continuous sequence between small and big ///////////////////////////////////////////////////////////////////////// void PrintContinuousSequence(int small, int big) { for(int i = small; i <= big; ++ i) printf("%d ", i); printf("\n"); }
解析
这是网易的一道面试题。
这道题和本面试题系列的第10题有些类似。我们用两个数small和big分别表示序列的最小值和最大值。首先把small初始化为1,big初始化为2。如果从small到big的序列的和大于n的话,我们向右移动small,相当于从序列中去掉较小的数字。如果从small到big的序列的和小于n的话,我们向右移动big,相当于向序列中添加big的下一个数字。一直到small等于(1+n)/2,因为序列至少要有两个数字。
转载请注明原文地址:https://kaotiyun.com/show/axmZ777K
0
程序员面试
相关试题推荐
TheSecondWorldWar,______theearlieronein1914,promptedpublicconcernaboutthephysicalandintellectualwell-beingoft
输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因
设置Internet选项使得在表单上完成输入用户名就会自动完成填写密码。
从当前界面开始,到“电话和调制解调器的选项”中,将系统中的标准56000bps调制解调器删除。
关于在网页中加入书签来实现跳转的说法,正确的是______。A.可以实现页面间的跳转B.可以实现同一页面中不同位置的跳转C.在页面编辑时,需要使用“Insert”中的“NamedAnchor”D.只能跳转到其它页面的页首
在forpro中,字段长度.外存可用空间限制的字段类型为()。A.characterB.memoC.numericD.Float
软盘写保护的作用是()。A.防止持签B.防止读盘C.防止显示D.防止写盘
工作表行存放的是各地区每月的销售数量,请按一月份销售情况由低至高进行排序。
在Excel2003的单元格A2中有数值型数据10,要在相邻的单元格中利用填充柄填充自动加1的序列,正确的操作是()。
有人说,P2P应用消耗大量的网络带宽,甚至占网络流量的90%。对此的合理解释是______。
随机试题
某企业采用德尔菲法选定11名专家对某产品的市场需求进行预测,最后一轮数据见表(单位:万台),用中位数法进行预测,为()台。
下列各项中,基于被审计单位管理层“计价或分摊”认定推论得出的有关“存货”具体审计目标有()
有头疽的整个病程为
木香的功效是青木香的功效是
【2008年第4题】题6~10:一座66/10kV重要变电所,装有容量为16000kVA的主变压器两台,采用蓄电池直流操作系统,所有断路器配电磁操作机构,控制、信号等经常负荷为2000W,事故照明负荷为1000w,最大一台断路器合闸电流为98A。请回答下列
社会主要矛盾内涵的转化,表现为供给和需求两侧的结构都逐步发生变化。其实,几年前中央提出我国进入发展新常态,随后又提出供给侧结构性改革,就表明已经认识到社会主要矛盾内涵的变化,但并没有超越供给不能满足需求的总框架。而且应当认识到,党的十九大报告讲了主要矛盾的
当x>0时,
局域网中,提供并管理共享资源的计算机称为()。
TheIndependentonSunday’s【76】(industry)editor,DavidBowen,collectsairlinesick-bags.Hestartedabout10yearsagowhenh
A、Hecan’tfindthetickets.B、Hedoesn’twanttositinthefront.C、Hewouldratherstandthansitdown.D、Heexpectsthehall
最新回复
(
0
)