Cod sursa(job #3191797)

Utilizator teodor_tohteodor toh teodor_toh Data 10 ianuarie 2024 17:48:26
Problema Suma si numarul divizorilor Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int main()
{
	

	
	int n, i;
	fin >> n;
	for (i = 0; i < n; i++)
	{
		int sum = 1, nrdiv = 1;
		int m, j;
		fin >> m;
		for (j = 2; j <= m; j++)
		{
			int power = j, pcount =0;
			while (m % j == 0) 
			{
				pcount++;
				power *= j;
				m /= j;
			}
			nrdiv *= (pcount + 1);
			sum *= (power - 1) / (j - 1);
		}
		if (m > 1)
			sum *= (m * m - 1) / (m - 1);
		if (nrdiv == 1 && m > 1)
			nrdiv++;
		cout << nrdiv << " " << sum << "\n";
		fout << nrdiv << " " << sum << "\n";
	}
	
}