Cod sursa(job #1708863)

Utilizator diac_paulPaul Diac diac_paul Data 28 mai 2016 01:10:43
Problema Consecutive Scor Ascuns
Compilator cpp Status done
Runda Marime 0.63 kb
#include <iostream>
#include <vector> 
#include <math.h> 
#include <stdio.h>

using namespace std;
typedef long long ll;
int t; 
ll n; 
int main() 
{
	freopen("consecutive.in","r",stdin); 
	freopen("consecutive.out","w",stdout); 
	for(cin >> t; t--;) { 
	cin >> n; 
	int sol = 0;
	for(ll i = sqrt(2*n)+1; i>=1;i--) {
		if (( n- (i*(i+1)/2)  )>0 && ( n- (i*(i+1)/2)  ) % (i+1) == 0) {
			sol++;
		}
 	}
	cout<<sol<<"\n";

	for(ll i = 1; i <= sqrt(2*n)+1; i++) {
		if (( n- (i*(i+1)/2)  )>0 && ( n- (i*(i+1)/2)  ) % (i+1) == 0) {
			cout<< ((n- (i*(i+1)/2)   ) / (i+1)) << " " << ((n-(i*(i+1)/2)  ) / (i+1)+i) << "\n";
		}
 	}
 } 

return 0;
}