Pagini recente » Cod sursa (job #88538) | Cod sursa (job #2155385) | Cod sursa (job #870112) | Cod sursa (job #1130045) | Cod sursa (job #1710012)
#include <iostream>
#include <fstream>
#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;
// }
// }
}
ofstream gg("consecutive.out");
void aaa(long long n){
vector<pair<long long, long long>> limite;
for(long long i = 2; i < n; i++){
long long deimp = (n - ((i*(i-1)) / 2));
if(deimp < 1){
break;
}
if(deimp%i==0){
long long X = deimp / i;
if(X >= 1)
{
// cout << X << " " << X + i - 1 << endl;
limite.push_back(make_pair(X,X + i - 1 ));
}
else {
break;
}
}
}
gg << limite.size() << endl;
for( auto &a : limite)
{
gg << a.first << " " << a.second << endl;
}
}
int main()
{
// FILE *f = fopen("consecutive.in","r");
// g = fopen("consecutive.out","w");
int nrT;
long long n ;
ifstream ff("consecutive.in");
// fscanf(f,"%d",&nrT);
ff >> nrT;
for(int i = 0; i < nrT; i++){
ff >> n;
aaa(n);
}
return 0;
}