Pagini recente » Cod sursa (job #2400860) | Cod sursa (job #423541) | Cod sursa (job #1693474) | Cod sursa (job #1374546) | Cod sursa (job #1709381)
#include <iostream>
#include <queue>
#include <math.h>
#include <fstream>
using namespace std;
int main(){
ofstream fout;
fout.open ("consecutive.out");
ifstream fin;
fin.open ("consecutive.in");
int n;
fin>>n;
long long x;
queue<long long> stpos;
queue<long long> lengths;
for (int i=0;i<n;i++){
fin>>x;
int l=2;
double tmp;
int p = l*l- l;
int cnt=0;
while(p <=2*x){
tmp=((double)x- (double)p/2)/l;
if (ceilf(tmp) == tmp){
stpos.push(tmp);
lengths.push(l);
cnt++;
}
l++;
p = l*l- l;
}
fout<<cnt<<'\n';
while(!stpos.empty()){
fout<<stpos.front()<<' '<<stpos.front()+lengths.front()-1<<'\n';
stpos.pop();
lengths.pop();
}
}
fout.close();
return 0;
}