Pagini recente » Cod sursa (job #250924) | Cod sursa (job #2041981) | Cod sursa (job #440624) | Cod sursa (job #1394441) | Cod sursa (job #2054103)
#include <fstream>
#include <queue>
#include <iostream>
using namespace std;
queue< pair<int,int> > q;
int main()
{
int n,t;
ifstream t1("consecutive.in");
ofstream t2("consecutive.out");
int p,u,sum;
pair <int,int> m;
t1>>t;
for(int k=1;k<=t;k++)
{
t1>>n;
sum=0;
u=n/2;
if(n%2==1) q.push( make_pair( n/2 , n/2 +1) );
u--; sum=u;
p=u-1;
while( p>=1 )
{
sum+=p;
p--;
if(sum == n )
{
q.push(make_pair(p+1,u));
sum -=u;
u--;
}
else
{
if(sum>n )
{
sum-=u;
u=u-1;
}
}
}
t2<<q.size()<<'\n';
while( !q.empty() )
{
m=q.front();
q.pop();
t2<<m.first<<' '<<m.second<<'\n';
}
}
t1.close();
t2.close();
return 0;
}