Pagini recente » Cod sursa (job #2855303) | Cod sursa (job #615781) | Cod sursa (job #1613919) | Cod sursa (job #1705409) | Cod sursa (job #2202636)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("consecutive.in");
ofstream g("consecutive.out");
vector <int> sol1, sol2;
int main()
{
int n, s = 1, sol = 0, suma_aux, t;
f >> t;
while(t)
{
f >> n;
/*for (int i = 2 ; s < n ; ++i) {
s += i;
if ((n-s) % i == 0) nrSol++;
}
g << nrSol << "\n";
s = 1;
for (int i = 2 ; s < n ; ++i) {
s += i;
if ((n-s) % i == 0) {
int p = (n-s)/i;
g << p+1 << " " << p+i << "\n";
}
}*/
for(int i = 2 ; i < n / 2; i++)
{
suma_aux = (i - 1) * i / 2;
if(suma_aux >= n)
break;
else
{
suma_aux = n - suma_aux;
if(suma_aux % i == 0)
{
sol++;
sol1.push_back(suma_aux/i);
sol2.push_back(suma_aux/i + i - 1);
}
}
}
g << sol << '\n';
for(int i = 0; i < sol; i++)
{
g << sol1[i] << " " << sol2[i] << '\n';
}
t--;
}
}