Pagini recente » Cod sursa (job #2307875) | Cod sursa (job #824043) | Cod sursa (job #2238470) | Cod sursa (job #2550940) | Cod sursa (job #1709403)
#include <iostream>
#include <math.h>
#include <vector>
#include <stdio.h>
using namespace std;
FILE *g;
void afs(long n ){
// unsigned long cnt = 0;
vector<pair<long,long>> limite;
// long limite[100][2];
for(int i = 2; i <= 15; i++){
float mij = (float)n / i;
long first;
long last;
float rest = (mij - floor(mij));
// cout << i << " " << rest << " " << mij << endl;
if ( i % 2 == 0){
if(rest == 0.5){
first = ceil(mij - ((float)i/2));
last = floor(mij + ((float)i/2));
if(first > 0) {
// cout << first << " " << last << endl;
limite.push_back(make_pair(first,last));
} else{
break;
}
}
} else if(rest == 0){
first = mij - (i/2);
last = mij + (i/2);
if(first > 0){
// cout << first << " " << last << endl;
limite.push_back(make_pair(first,last));
} else{
break;
}
}
}
fprintf(g,"%d\n",limite.size());
// cout << cnt << endl;
for( auto &a : limite){
fprintf(g,"%d %d\n",a.first, a.second);
}
// if(cnt!=0)
// {
// for(int i = 0; i < cnt; i++){
// fprintf(g,"%d %d\n",limite[i][0], limite[i][1]);
//// cout << limite[i][0] << " " << limite[i][1] << endl;
// }
// }
}
void aaa(long n){
vector<pair<long,long>> limite;
for(long i = 2; i < n; i++){
long deimp = (n - ((i*(i-1)) / 2));
if(deimp < 1){
break;
}
if(deimp%i==0){
long X = deimp / i;
if(X >= 1){
// cout << X << " " << X + i - 1 << endl;
limite.push_back(make_pair(X,X + i - 1 ));
}
else {
break;
}
}
}
fprintf(g,"%d\n",limite.size());
// cout << cnt << endl;
for( auto &a : limite){
fprintf(g,"%d %d\n",a.first, a.second);
}
}
int main()
{
FILE *f = fopen("consecutive.in","r");
g = fopen("consecutive.out","w");
int nrT;
long n ;
fscanf(f,"%d",&nrT);
for(int i = 0; i < nrT; i++){
fscanf(f, "%lu", &n);
aaa(n);
}
return 0;
}