质数,质数因子(输入一个正整数,按照从小到大的顺序输出它的所有质因子)

质数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,否则称为合数

不能被其它自然数整除:被其它数取余不等于0

例:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

/*
** 思路:一个数 质数从小到大,如果这个数取i的余等于0(能被i整除),说明这个数不是质数,
**      将这个数除i之后,再从头开始取余,直到从2到这个数的开平方根都不存在被整除的数
*/
let lines = parseInt(readline());
const arr = [];
let newLine = null;
function yuFunc(lines) {
  for (var i = 2; i * i <= lines; i++) {
    if (lines % i === 0) {
      newLine = lines / i;
      arr.push(i);
      yuFunc(newLine);
      break;
    }
  }
}
yuFunc(lines);
if (newLine != 1) {
  arr.push(newLine);
  console.log(arr.join(" "));
}

特性:质数因子肯定小于等于这个数的平方根,可以根据这个特性来减少运行时间

posted @   嘿!那个姑娘  阅读(751)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示