或者还有更好的方法吗。。我用的是等差数列公式
by Matrixchung @ 2017-10-31 13:36:22
我也是等差数列,用数字个数单循环效率更高
```cpp
#include <iostream>
#include <vector>
using namespace std;
struct Num
{
int st,ed;
};
vector<Num> v;
int main()
{
int m, a, b, tmp, i=2;
cin >> m;
while(i<m)
{
tmp=2*m-i*i+i;
if(tmp%(2*i)==0)
{
a=tmp/(2*i);
b=i+a-1;
if(a<1)break;
v.push_back({a,b});
}
i++;
}
for(i=v.size()-1; i>=0; i--)
cout << v[i].st <<" " << v[i].ed << endl;
return 0;
}
```
by kissinger @ 2017-10-31 20:49:00
好的,谢谢了
by Matrixchung @ 2017-10-31 22:14:58
~~氧气优化是个好东西~~
by Fireflying @ 2018-11-25 19:58:46