题解 | #质数因子#

质数因子

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有关系,满足这种条件的话他只能为素数。(应该算是一种规律总结吧 )。


全部评论

相关推荐

02-14 12:40
门头沟学院 Java
程序员花海:1.面试要求必须Java笔试不一定 2.难度对等秋招 远超于日常实习是因为同一批次且转正很多 竞争压力大 3.第一个加点指标,上线了就把接口性能加上去 使用本地缓存这个不算亮点 只是技术选型,要把为什么采用这个和背后的思考写出来而不是单纯堆叠技术没意义 4.八股要一直看 很容易忘记 5.拼团交易这个老问题 堆积技术 另外建议你把奖项合并到教育背景 没必要拆出来放最后
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务