Mai intai trebuie sa te autentifici.
Cod sursa(job #2609885)
Utilizator | Data | 3 mai 2020 19:13:03 | |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.86 kb |
#include <fstream>
using namespace std;
int nr_div(unsigned long long n)
{
int i, cnt = 0;;
for (i = 1; i * i < n; ++i)
{
if (n % i == 0)
cnt += 2;
}
if (i * i == n) cnt++;
return cnt;
}
unsigned long long sum_div(unsigned long long n)
{
unsigned long long sd = 0;
int i;
for (i = 1; i * i < n; ++i)
{
if (n % i == 0)
sd += i, sd += (n / i);
}
if (i * i == n)
sd += i;
return 1LL * sd % 9973;
}
int main()
{
int t;
unsigned long long n;
unsigned long long S = 0;
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
cin >> t;
for (; t; --t) // in loc de asta puteai sa scrii : for (int i = 1; i <= t; ++i)
{
cin >> n;
cout << nr_div(n) << ' ' << sum_div(n) << '\n';
}
}