题解 | #质数因子#

质数因子

https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

import java.util.*;

public class Main {
    
 public static void main(String[] args){
     Scanner sc= new Scanner(System.in);
     int input = sc.nextInt();
     int i = 2;
        int count =0;
     while(input!=1){
         count++;
         if(input%i==0){
             System.out.print(i+" ");
             input=input/i;
         }else{
            if(i*i>input){
                i=input;
            }else{
                i++; 
            }
           
         }
     }
  
 }   
}
最关键的就是i平方和input比较的地方我也是看了别人照着抄的
后面就一直想为什么i平方大于input,就代表input是质数
我个人是这么理解
假设这个数input是23,ok那我们代入进去,i逐渐递增到5,5平方 25,由此得知这个input是16<input<25,<=5的两个数组成的最大数就是5平方25。
首先我们是一路递增上去的,2 3 4 5和23 都构不成关系,也就是说16<input<25以内的某个数它不和2 3 4 5有关系,满足这种条件的话他只能为素数。(应该算是一种规律总结吧 )。


全部评论

相关推荐

11-27 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
我见java多妩媚:大外包
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务