Cod sursa(job #715931)

Utilizator miu_mik93FMI - Paduraru Miruna miu_mik93 Data 17 martie 2012 22:50:13
Problema Suma si numarul divizorilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<iostream>
#include<math.h>
#include<fstream>
#include<string.h>
#include<stdio.h>
const int MOD = 9973;
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
void function()
{
	int n,nr_div = 1,suma = 1;
	fin>>n;
	for(int d = 2; n > 1 ; d++)
	{
		if(d*d > n)
			break;
		if(n % d)
			continue;
		int produs = 1,div = 0,s = 1;
		while(n % d == 0)
		{
			produs *= d;
			produs %= MOD;
			s += produs;
			if(s > MOD)
				s -= MOD;
			n /= d;
			div++;
		}
		nr_div *= (div + 1);
		suma *= s;
		suma %= MOD;
	}
	if(n != 1)
	{
		nr_div *= 2;
		suma = suma * (n+1) % MOD;
	}
	fout<<nr_div<<" "<<suma<<endl;
}
int main()
{
	int t;
	for(fin >> t; t; --t)
		function();
	return 0;
}