Cod sursa(job #715917)

Utilizator miu_mik93FMI - Paduraru Miruna miu_mik93 Data 17 martie 2012 22:31:12
Problema Suma si numarul divizorilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<iostream>
#include<math.h>
#include<fstream>
#include<string.h>
#include<stdio.h>
const int MOD = 9973;
using namespace std;
void function()
{
	int n,nr_div = 1,suma = 1;
	scanf("%d", &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;
	}
	printf("%d %d\n",nr_div,suma);
}
int main()
{
	int t;
	freopen("ssnd.in", "r", stdin);
	freopen("ssnd.out", "w", stdout);
	scanf("%d", &t);
	while(t--)
		function();
	fclose(stdin);
	fclose(stdout);
	return 0;
}