Pagini recente » Cod sursa (job #1039487) | Cod sursa (job #1733063) | Cod sursa (job #2512235) | Cod sursa (job #3159049) | Cod sursa (job #1709807)
#include <fstream>
#include <iostream>
#include <queue>
using namespace std;
int main()
{
ifstream in ("consecutive.in");
ofstream out ("consecutive.out");
unsigned tests, sum;
in>>tests;
while(tests--)
{
in>>sum;
queue<unsigned> sums;
unsigned start, solutii=0;
for(unsigned lung=2; lung<=sum/2; lung++)
if(2*sum+lung>lung*lung && (2*sum+lung-lung*lung)%(2*lung)==0)
{
solutii++;
start=(2*sum+lung-lung*lung)/(2*lung);
cout<<"st: "<<start<<" lung:"<<lung<<endl;
sums.push(start); sums.push(start+lung-1);
}
out<<solutii<<endl;
unsigned endd;
while(solutii--)
{
start=sums.front(); sums.pop();
endd=sums.front(); sums.pop();
out<<start<<" "<<endd<<endl;
}
}
}