首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
输入一个正数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
86
问题
输入一个正数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
程序员面试
相关试题推荐
______,amanwhoexpresseshimselfeffectivelyissuretosucceedmorerapidlythanamanwhosecommandoflanguageispoor.
Americanschoolsaren’texactlyfrozenintime,butconsideringthepaceofchangeinotherareasoflife,ourpublicschoolste
求两个串中的第一个最长子串(神州数码以前试题)。如"abractyeyt","dgdsaeactyey"的最大子串为"actyet"。
歌德巴赫猜想。任何一个偶数都可以分解为两个素数之和。
在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
设置本地连接添加“Microsoft网络的文件和打印机共享”。
在金山毒霸2008中,手动查杀“移动存储设备”中的病毒木马。
将"回收站"的最大空间设置为每个驱动器的20%。
Word的样式是一组巳命名的字符和()格式的组合。
软件设计中,有利于提高模块独立性的一个准则是______。
随机试题
我国低压配电设备都能适用的海拔为()。
粒红比例减低见于
21世纪可持续发展的指导思想,坚持以()为核心。
由监理人员现场监理某工序过程完成情况的活动称为( )。
成熟、过熟龄林木资源评估常用的方法是()。
佛朗西斯·克里克提出的中心法则指明了遗传信息的流向,在科学发展中得到不断补充完善。根据该法则,下列哪一种遗传信息传递流程不可能发生?
Britain’sprivateschoolsareoneofitsmostsuccessfulexports.Thechildrenofthewealthy【C1】______tothem,whetherfromChi
在CSM网络管理界面下,下拉[Port]菜单,单击[PortSetting],就可以配置——。
以下是某商场的购物记录集合,每个购物篮中包含若干商品。现在要基于该数据集进行关联规则挖掘,如果设置最小支持度为60%,最小置信度为80%,则在以下列出的关联规则中,符合条件的是()。
Volcanoesaretheultimateearth-movingmachinery.Eruptionshaveriftedcontinents,raisedmountainchains,constructedislands
最新回复
(
0
)