- 将一个数组中每个正整数a[i]都拆成若干个和为a[i]的素数,拆开后这个数组最多能有多少个素数。
输入:
3
5 3 7
输出:
6
- 思路:尽量用最小的素数2和3去相加,则可以转换成一个正整数中最多可包含几个2(ans[i]最多可以拆分成ans[i]/2个素数相加)。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum=0;
int[] res = new int[n];
int[] ans = new int[n];
for (int i = 0; i < n; i++){
if(ans[i]>1) {
res[i] = ans[i] / 2;
System.out.println("res[i]:" + res[i]);
sum += res[i];
}
}
System.out.println(sum);
}
}