相等序列 时间限制:3.0 s 内存限制:512.0 MB 题目描述 小 A 有一个包含 N 个正整数的序列A = {A₁ , A₂ , · · ,A_N}。小 A 每次可以花费 1 个金币执行以下任意一种操作: 1. 选择序列中一个正整数 A_i( 1 ≤ i ≤ N),将 A_i 变为 A_i × P,P 为任意质数; 2. 选择序列中一个正整数 A_i( 1 ≤ i ≤ N),将 A_i 变为 A_i ÷ P,P 为任意质数,要求 A_i 能整除 P。 小 A 想请你帮他计算出令序列中所有整数都相同,最少需要花费多少金币。 输入格式 第一行一个正整数 N,含义如题面所示。 第二行包含 N 个正整数 A₁ , A₂ , · · ,A_N,代表序列 A。 输出格式 输出一行,代表最少需要花费的金币数量。 样例 输入样例 5 10 6 35 105 42 输出样例 8 数据范围 对于60%的测试点,保证 1 ≤ N, A_i ≤ 100。 对于所有测试点,保证 1 ≤ N, A_i ≤ 10⁵。
正确答案:参考程序(Python):N=int(input());A=list(map(int,input().split()));from collections import Counter;def pf(x):c=0;d=2;while d*d<=x:while x%d==0:x//=d;c+=1;d+=1 if d==2 else 2;if x>1:c+=1;return c;print(sum(pf(a) for a in A)-len(A))。样例→8。核心:质因数总数减一。
试卷来源:202512 CCF-GESP编程能力等级认证Python五级真题