题目 分析 首先是循环,从2开始,一直到题目给出的数用题目给出的数进行取余运算当一个满足时寻找下一个 代码 import java.util.*; public class Main{ public static void main(String[]args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int max = 0;//连续因子的最大个数 int star = 0;//第一个连续因子是多少 for(int i=2;i<Math.sqrt(n);i++){ int p = n; int q = i; int count=0; while(p%q==0){//就630来说当2满足时,判断下一位3 count++; p = p/q;//因为2已经满足,所以应该变为630的一半进行判断 q++; } if(count>max){ max= count; star = i; } } if(max>0){ System.out.println(max); String[]list = new String[max]; for(int i=0;i<max;i++){ list[i] = Integer.toString(star+i); } System.out.println(String.join("*",list)); } else{ System.out.println("1"); System.out.println(n); } } }