/*
題型:數段的連加連減問題
注意 起點要小於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