Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("prim013.in");
- ofstream fout("prim013.out");
- int prim(int n)
- {
- if(n == 0 || n == 1) return 0;
- if(n == 2) return 1;
- if(n % 2 == 0) return 0;
- for(int i = 3 ; i * i <= n ; i += 2) if(n % i == 0) return 0;
- return 1;
- }
- int nrdiv(int n)
- {
- int d = 2 , prod = 1;
- while(n > 1)
- {
- int p = 0;
- while(n % d == 0) {n /= d; p++;}
- if(p) prod = prod * (p+1);
- d++;
- if(d * d > n) d =n;
- }
- return prod;
- }
- int main()
- {
- int n , x , cnt = 0;
- fin >> n;
- for(int i = 1 ; i <= n ; ++i)
- {
- fin >> x;
- if(x != 1 && prim(nrdiv(x))) cnt++;
- }
- fout << cnt;
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement