全部评论 1

  • 置顶

    #include<bits/stdc++.h>
    using namespace std;
    int n, a[100010], p[100010][20], ans;
    void f(int x){
    if(x == 1) return ;
    int t[100010] = {0};
    for(int i = 2;i * i <= x;i++){
    while(x % i == 0){
    p[i][t[i]];
    x /= i;
    }
    if(x == 1) break;
    }
    if(x > 1)p[x][1];
    }
    int main(){
    cin >> n;
    for(int i = 1;i <= n;i
    ){
    cin >> a[i];
    f(a[i]);
    }
    for(int i = 2;i <= 100000;i++){
    for(int j = 1;j < 20;j++){
    if(!p[i][j]) break;
    ans += min(p[i][j], n - p[i][j]);
    }
    }
    cout << ans;

    return 0;
    

    }

    2026-09-05 来自 浙江

    1

热门讨论