蓝桥杯 连续正整数的和 暴力

问题描述
  78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。
  输入一个正整数 n(<=10000)
  输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+...+b=n。
  对于多种表示法,a小的方案先输出。
样例输入
78
样例输出
1 12
18 21
25 27
又想复杂了,直接暴力可过,还是没有养成暴力的思想。
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int main() {
 4     int n;
 5     cin >> n;
 6     for(int i = 1; i < n; i++) {
 7         int sum = 0; //每次都初始化sum的值 
 8         int x = i;    //记住每次最开始的值 
 9         int j = i;    //从i开始累加 
10         while (sum < n) {
11             sum += j;
12             j++;
13         }
14         if (sum == n) {
15             cout << x << " " << j - 1 << endl;
16         }
17     }
18     return 0;
19 }

猜你喜欢

转载自www.cnblogs.com/fx1998/p/12656920.html