Cod sursa(job #2202636)

Utilizator dorin31Geman Dorin Andrei dorin31 Data 9 mai 2018 16:15:55
Problema Consecutive Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.87 kb
#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--;
	}
}