相等序列 时间限制: 1.0 s 内存限制:512.0 MB 题目描述 小 A 有一个包含 N 个正整数的序列A = {A1 , A2 , · · ,AN} 。小 A 每次可以花费 1 个金币执行以下任意一种操作: 选择序列中一个正整数 Ai ( 1 ≤ i ≤ N) ,将 Ai 变为 Ai * P ,P 为任意质数; 选择序列中一个正整数 Ai ( 1 ≤ i ≤ N) ,将 Ai 变为 Ai /P ,P 为任意质数,要求Ai能被p整除。 小 A 想请你帮他计算出令序列中所有整数都相同 ,最少需要花费多少金币。 输入格式 第一行一个正整数N ,含义如题面所⽰ 。 第二行包含 N 个正整数 A1 , A2 , · … ,AN ,代表序列 A。 输出格式 输出一行 ,代表最少需要花费的金币数量。 输入样例 5 10 6 35 105 42 输出样例 8 数据范围 对于60%的测试点 ,保证 1 ≤ N, Ai ≤ 100 。 对于所有测试点 ,保证 1 ≤ N, Ai ≤ 105 。
正确答案:参考程序(Python):N=int(input());A=list(map(int,input().split()));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编程能力等级认证C++五级真题