Cod sursa(job #810152)

Utilizator vld7Campeanu Vlad vld7 Data 9 noiembrie 2012 19:10:28
Problema Suma si numarul divizorilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
/* O(T * sqrt(N)) */

#include <fstream>

#define MOD 9973

using namespace std;

ifstream f("ssnd.in");
ofstream g("ssnd.out");

void solve(long long n)
{
	int nrdiv = 0, sum = 0;
	
	for (int i = 1; 1LL * i * i <= n; i++) {
		if (n % i == 0) {
			int a = n / i;
			
			if (i != a) {
				nrdiv += 2;
				sum += i + a;
			} 
			else {
				nrdiv++;
				sum += i;
			}
			sum %= MOD;
		}
	}
	
	g << nrdiv << " " << sum << '\n';
}

int main()
{
	int T;
	long long n;
	
	f >> T;
	while (T--) {
		f >> n;
		solve(n);
	}
	
	return 0;
}