Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- long long n, x, s, suma;
- long long pow(long long n2, int p) {
- long long r = 1;
- while(p) {
- if(p % 2 == 1)
- r = 1LL*r * n2;
- p /= 2;
- n2 = 1LL*n2*n2;
- }
- return r;
- }
- long long nrdiv(int nr) {
- int d = 2, k = 0;
- long long s = 1;
- while(nr != 1) {
- if(nr % d == 0) {
- k = 0;
- while(nr % d == 0) {
- nr /= d;
- k++;
- }
- if(k > 0){
- s = 1LL*s*((pow(d, k + 1) - 1) / (d - 1));
- }
- }
- if(d == 2)
- d = 3;
- else
- d += 2;
- if(nr != 1 && d * d > nr)
- d = nr;
- }
- return s;
- }
- long long ogl(int nr) {
- long long numar = 0;
- while(nr) {
- numar = numar * 10 + (nr % 10);
- nr /= 10;
- }
- return numar;
- }
- int main() {
- cin >> n;
- for(int i = 1; i <= n; ++i) {
- cin >> x;
- long long og = ogl(x);
- suma += nrdiv(og);
- }
- cout << suma;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement