Pagini recente » Cod sursa (job #1283094) | Cod sursa (job #2815656) | Cod sursa (job #1941876) | Cod sursa (job #2361171) | Cod sursa (job #2054095)
#include <fstream>
#include <iostream>
#define lng long long
using namespace std;
lng n,i,j,k,l,a,card;
int t;
struct pair
{
int a,b;
}v[0x10000];
/* pt un sir te nummere consec de la a la b suma lor e (a+b)(b-a+1)/2
pt un sir de numere consec de la a cu l nr e (2*a+l-1)*l/2=
2*a*l+l*l-l=2*n;
a=(2*n-l*(l-1))/l/2
*/
int main()
{
fstream f("consecutive.in",ios::in),g("consecutive.out",ios::out);
f>>t;
for(i=0;i<t;i++)
{
f>>n;
card=0;
for(l=2;l*(l-1)<=2*n;l++)
{
a=(2*n-l*(l-1))/l/2;
if(2*a*l+l*l-l==2*n&&a>0){v[card].a=a;v[card].b=a+l-1;card++;}
}
g<<card<<'\n';
for(j=0;j<card;j++)g<<v[j].a<<' '<<v[j].b<<'\n';
}
}