/*
题型:数段的连加连减问题
注意 起点要小于M/2;
*/
#include<bits/stdc++.h>
using namespace std;
int M;
int main(){
scanf("%d",&M);
for(int a=1;a<=M/2;a++){//因为a如果过了M/2那么再加的话就超过了M
int sum=a;
for(int x=1;a+x<=M;x++){
sum+=(a+x);
if(sum==M)printf("%d %d\n",a,a+x);//以x为起点,x是距离
else if(sum>M)break;
}
}
return 0;
}
P1147 连续自然数和
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
算法设计与分析【2】分治算法
33 Audrey
2020-07-08 12:35:24
算法笔记重点(9)递归
BakenJ
2020-07-05 19:11:11
分治法|求排列的逆序数
Hoolys
2020-07-03 12:02:42
Leetcode:93. Restore IP Addresses(Week1, Medium)
小威威__
2020-07-01 21:05:52
算法设计与分析之分治法解决全排列问题
boomchenchen
2020-06-30 01:00:50
排序算法-归并排序(java实现)
林罔顾
2020-06-29 21:55:46
数据结构与算法之“分治算法”
Gl-Young
2020-06-29 10:29:25
c++快排、堆排及归并排序 简单易懂的实现
AnDiXL
2020-06-28 19:05:28
Easy Algorithms系列——详解递归与分治
Marcu-Bao
2020-06-25 10:48:26
[LeetCode](面试题16)数值的整数次方
zaker123
2020-06-25 02:41:15
【算法设计与分析】快速排序(分治)
one or only
2020-06-24 04:40:48
java实现归并排序和快速排序-分治法
fly丶
2020-06-23 10:01:49