给定一个整数n,求出所有连续的且和为n正整数

上传者: u013984400 | 上传时间: 2021-09-12 16:02:41 | 文件大小: 858B | 文件类型: CPP
给定一个整数n,求出所有连续的且和为n正整数。比如对于整数27,结果为2~7、8~10、13和14,因为这些数之间的整数的和都是27。注意:并不是所有的整数都有结果,例如不存在连续的整数和为16。为了提高计算的效率,程序所采用的算法如下:(1) 从1开始计算连续的整数和sum,直到sum不小于n为止;(2) 在第i步,如果sum=i+(i+1)+…+j比n大,则去掉连加的最左端的数i,如果sum比n小,在连加的右端加上一个数(j+1);(3) 如果和sum=i+(i+1)+…+j等于n,则i+(i+1)+…+j为一组解,输出该解,并将连加的右端加上(j+1);(4) 重复2,3步,直到i大于n/2为止。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明