这题其实就是要我们统计每一次除掉的那个因数所对应的更大的那个因数之和
如果n本身就是质数,那么最后只需要加1,而不是加n,因为要保证每次摆下的行数大于1
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
long n=scanner.nextLong();
long t=n;
long count=t;
for (int i = 2; i <= Math.sqrt(n); i++) {
while(t%i==0) {
t=t/i;
count+=t;
}
if(t==1) {
break;
}
}
if(t>1) {
count+=1;
}
System.out.println(count);
}
}



京公网安备 11010502036488号