这一题通过分析可以发现,最小成本就是所有非1因数的和,当然1除外

那么我们就可以写出如下判断

如果n是质数,那么最小成本肯定就是n

如果n是1,那么最小成本是0

如果n以上都不是,那么就要求它的因数



import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		ArrayList<Integer> list=new ArrayList<>();
		int t=n;
		if(isPrime(n)) {
			list.add(n);
		}else if(n==1) {
			list.add(0);
		}else {
			while(true) {
				for (int i = 2; i < n; i++) {
					if(t%i==0) {
						list.add(i);
						t=t/i;
						break;
					}
				}
				if(t==1) {
					break;
				}
			}
		}
		
		int count=0;
		for(Integer x:list) {
			count+=x;
		}
		System.out.println(count);
		


	}
	public static boolean isPrime(int n) {
		if(n<=1)return false;
		for (int i = 2; i <=Math.sqrt(n); i++) {
			if(n%i==0)return false;
		}
		return true;
	}

}