Pagini recente » Cod sursa (job #2455810) | Cod sursa (job #597331) | Cod sursa (job #1514797) | Cod sursa (job #2134450) | Cod sursa (job #1925550)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("consecutive.in");
ofstream fout("consecutive.out");
int T;
long long int N;
int cnt, i;
vector<pair<int, int> > secv;
int main()
{
fin >> T;
while( T )
{
fin >> N;
cnt = 0;
secv.clear();
for ( i = 2; ; ++i )
{
long long int Rest = (i * (i - 1)) / 2;
if ( N - Rest <= 0 )
break;
if ( (N - Rest) % i == 0 )
{
cnt++;
secv.push_back(make_pair((N - Rest) / i, (N - Rest) / i + i - 1));
}
}
fout << cnt << "\n";
for( auto x : secv )
{
fout << x.first << ' ' << x.second << '\n';
}
T--;
}
return 0;
}