当前位置: 首页 > news >正文

题解:洛谷 P1147 连续自然数和

【题目来源】

洛谷:P1147 连续自然数和 - 洛谷

【题目描述】

对一个给定的正整数 \(M\),求出所有的连续的正整数段(每一段至少有两个数),这些连续的自然数段中的全部数之和为 \(M\)

例子:\(1998+1999+2000+2001+2002 = 10000\),所以从 \(1998\)\(2002\) 的一个自然数段为 \(M=10000\) 的一个解。

【输入】

包含一个整数的单独一行给出 \(M\) 的值(\(10 \le M \le 2,000,000\))。

【输出】

每行两个正整数,给出一个满足条件的连续正整数段中的第一个数和最后一个数,两数之间用一个空格隔开,所有输出行的第一个按从小到大的升序排列,对于给定的输入数据,保证至少有一个解。

【输入样例】

10000

【输出样例】

18 142 
297 328 
388 412 
1998 2002

【算法标签】

《洛谷 P1147 连续自然数和》 #数学# #枚举# #前缀和# #双指针,two-pointer#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int m;  // 存储输入的目标和int main()
{// 输入目标和mcin >> m;// 初始化滑动窗口的起点i和终点j,以及当前和sumint i = 1, j = 1, sum = 1;// 滑动窗口法寻找连续正整数序列while (i <= m / 2)  // 只需要遍历到m/2即可{// 如果当前和小于m,扩大窗口右边界if (sum < m){j++;           // 右边界右移sum += j;      // 更新当前和}// 如果当前和大于等于m,尝试缩小窗口左边界if (sum >= m){// 如果找到和为m的序列,输出结果if (sum == m)cout << i << " " << j << endl;sum -= i;      // 缩小窗口i++;           // 左边界右移}}return 0;
}
// 使用acwing模板二刷
#include <bits/stdc++.h>
using namespace std;int m;        // 存储输入的目标和
int sum = 1;  // 当前连续序列的和,初始化为1(第一个正整数)int main()
{// 输入目标和mcin >> m;// 使用滑动窗口法寻找连续正整数序列for (int i = 1, j = 1; i <= m / 2; i++)  // i从1开始,最多只需要遍历到m/2{// 当当前和小于m时,扩大窗口右边界while (sum < m){j++;          // 右边界右移sum += j;     // 更新当前和}// 当当前和大于等于m时if (sum >= m){// 如果找到和为m的序列,输出起始和结束位置if (sum == m)cout << i << " " << j << endl;// 缩小窗口左边界(i右移)sum -= i;}}return 0;
}

【运行结果】

10000
18 142
297 328
388 412
1998 2002
http://www.jsqmd.com/news/491209/

相关文章:

  • 深入解析:如何高效判断两个字符串是否为字符重排(Anagram)
  • 大润发购物卡回收平台推荐:哪些平台值得信赖? - 团团收购物卡回收
  • Rumprun开发环境搭建:Windows、Linux、MacOS全平台教程
  • 网站后台提示“数据库修复失败”错误怎么办|已解决
  • Rider启动UE项目报错:UnrealBuildTool failed with exit code 0xe0434352
  • 终极指南:TrollStore代理模式如何实现iOS应用的永久安装与系统事件处理
  • 智选全球航旅:解析美国航空淡旺季政策与全天候高效售后服务 - 今日又土又金
  • 终极Umi-OCR主题系统:打造个性化界面的完整解决方案
  • 网络安全到底有多香?劝你好好看看
  • 2026六大城市高端腕表“表盘材质”终极档案:从珐琅微绘到陨石切片,这些天价盘面藏着多少秘密? - 时光修表匠
  • 探讨江阴货运,哪家价格实惠又好用? - 工业品网
  • 探索txtai项目:从语义搜索到LLM应用的完整指南
  • 2026转行网络安全必看!真实网安职场全景解析(零基础可看)
  • 2026年珠海可靠的化妆品加工厂订制厂家排名,看看哪家好 - 工业品牌热点
  • Umi-OCR备份恢复完全指南:保护你的配置数据与用户设置
  • 想卖掉大润发购物卡?掌握这些技巧,让你卖得更值! - 团团收购物卡回收
  • 终极Perplexica API开发指南:构建自定义AI搜索应用的完整教程
  • LeetCode热题100 搜索插入位置
  • ComfyUI-Docker CLI参数完全指南:解锁10+高级功能的秘密
  • 探讨武汉地区哪些品牌的酱酒有收藏价值,排名情况如何? - 工业推荐榜
  • LeetCode热题100 搜索二维矩阵
  • 终极指南:Perplexica高并发搜索请求的负载均衡策略
  • xxhash-java详解:lz4-java内置的超高速哈希算法实战
  • react-native-gifted-charts最佳实践:从安装到部署的完整流程
  • 操作系统引论·课后题深度复盘
  • OpenSID移动端应用开发:让乡村管理随时随地高效进行
  • 盘点2026年聚丙烯酰胺供应商,选哪家比较靠谱? - mypinpai
  • 如何用Perplexica AI搜索引擎快速获取精准房地产市场数据与房源信息
  • 2026年江苏地区口碑好的专业锅炉除氧剂加工厂推荐,靠谱之选大揭秘 - myqiye
  • 前列腺MRI病变检测全流程:MONAI Research Contributions临床应用案例