Cod sursa(job #1379128)

Utilizator theodor.moroianuTheodor Moroianu theodor.moroianu Data 6 martie 2015 16:28:02
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
using namespace std;

int main(){
	int k, n, d, s, j, interp, inters;
	ifstream in("ssnd.in");
	ofstream out("ssnd.out");
	in >> k;
	for (int i = 0; i < k; i++){
		in >> n;
		s = 1;
		d = 1;
		for (j = 2; j * j <= n; j++){
			if (n % j == 0){
				interp = 1;
				inters = 1;
				for (int q = j; n % j == 0; q *= j){
					interp++;
					inters += q;
					n /= j;
				}
				d *= interp;
				s *= inters;
			}
		}
		if (n != 1){
			d *= 2;
			s *= (1 + n);
		}
		out << d << ' ' << s << "\n";
	}
}