这题太难了!
2026-06-30 13:33:09
发布于:广东
37阅读
0回复
0点赞
你们可以给我思路吗?
全部评论 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谢谢
2026-09-07 来自 广东
0









有帮助,赞一个