Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream f ("num_sum_div.in");
- ofstream g ("num_sum_div.out");
- const int NN = 70715;
- bool ciur[NN + 1];
- int prime[32768], np, k1, k2, k3;
- int main ()
- {
- for (int i = 2; i * i <= NN; i++)
- if (ciur[i] == 0)
- for (int j = 2; i * j <= NN; j++)
- ciur[i * j] = 1;
- prime[++np] = 2;
- for (int i = 3; i <= NN; i += 2)
- if (ciur[i] == 0)
- prime[++np] = i;
- long long n, x, m, S;
- f >> n;
- while (n--)
- {
- f >> x;
- m = x, S = 1;
- int d = 1;
- while (m > 1)
- {
- long long f = 1, t = 1;
- while (m % prime[d] == 0)
- t += (f *= prime[d]), m /= prime[d];
- S *= t;
- d++;
- if (1LL * prime[d] * prime[d] > m && m > 1)
- S *= (m + 1), m = 1;
- }
- if (S < 2 * x) k1++;
- else if (S == 2 * x) k2++;
- else if (S > 2 * x) k3++;
- }
- g << k1 << " " << k2 << " " << k3;
- return 0;
- }
Add Comment
Please, Sign In to add comment