Cod sursa(job #1336738)

Utilizator andreioneaAndrei Onea andreionea Data 8 februarie 2015 03:45:54
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.15 kb
#include <fstream>
#include <vector>
#define MOD 9973
long long powexp(long long base, long long expo)
{
	if (!expo)
		return 1;
	long long rez = 1, p = base;
	while (expo) {
		if (expo & 1)
			rez =  (rez * p);
		p = (p * p);
		expo /= 2;
	}
	return rez;
}
int main()
{
	long long n, t;
	std::vector<bool> isprime(1 + 1e6, true);
	std::vector<long long> primes;
	isprime[0] = isprime[1] = false;
	for (long long i = 2; i <= 1e6; ++i) {
		if (isprime[i]) {
			primes.push_back(i);
			for (long long j = i * 2; j <= 1e6; j += i)
				isprime[j] = false;
		}
	}
	std::ifstream f("ssnd.in");
	std::ofstream g("ssnd.out");
	f >> t;
	// while (t--) 
	// {
	// 	f >> n;
	// 	long long rez1 = 1, rez2 = 1;
	// 	auto i = primes.begin();
	// 	while (n > 1 && i != primes.end()) {
	// 		auto p = (*i);
	// 		i++;
	// 		auto d = 0;
	// 		while (n % p == 0) {
	// 			d++;
	// 			n /= p;
	// 		}
	// 		rez1 = (rez1 * (d + 1)) % MOD;
	// 		rez2 = (rez2 * ((powexp(p, d + 1) - 1) / (p - 1)) ) % MOD;
	// 	}
	// 	if (n > 1) {
	// 		rez1 = (2 * rez1) % MOD;
	// 		rez2 = (rez2 * ((powexp(n, 2) - 1) / (n- 1)) ) % MOD;
	// 	}
	// 	g << rez1 << " " << rez2 << "\n";
	// }
	f.close();
	g.close();
}