Pagini recente » Cod sursa (job #816622) | Cod sursa (job #3257880) | Cod sursa (job #398035) | Cod sursa (job #353873) | Cod sursa (job #1758033)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#define ll long long
#define NMAX 60000
using namespace std;
ll t;
ifstream f("consecutive.in");
ofstream g("consecutive.out");
pair<ll,ll> v[1<<17];
ll v_size;
void solve();
int main()
{
f >> t;
while(t--) solve();
return 0;
}
void solve(){
ll nr;
v_size=0;
f >> nr;
ll deScazut=0;
ll dist= sqrt(2 * nr);
for(ll i=1;i <= dist;i++){
deScazut+=i;
if((nr - deScazut) % (i+1) == 0){
if((nr - deScazut)/ (i+1))
v[v_size++] = make_pair( (nr - deScazut)/ (i+1), (nr - deScazut)/ (i+1)+ i);
}
}
g << v_size << '\n';
for(ll i=0;i<v_size ;i++) g << v[i].first << ' ' << v[i].second << '\n';
}