美文网首页
算法题目-正整数分解质因数

算法题目-正整数分解质因数

作者: MacXin | 来源:发表于2018-03-02 10:39 被阅读0次

题目

    将一个正整数分解质因数。例:输入90,打印出90=2*3*3*5。    

解题思路

    对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

JavaScript

// test func

// 将给出的值与获得结果的数组的乘积进行对比

function testFuc(n, arr){

  let flag = true

  if(!Array.isArray(arr) || arr.length == 0){

    flag = false

    return flag

  }

  let arrPro = arr.reduce((pre, cur) => pre*cur)

  if(n != arrPro){

    flag = false

  }

  return flag

}

// 算法函数

function func(n){

  let results = []

  for(let i=2; i<= n; i++){

    while(n != i){

      if(n % i == 0){

        results.push(i)

        n = n/i

      } else {

        break;

      }

    }

    if(i == n){

      results.push(i)

    }

  }

  return results

}

// 运行

console.log(testFuc(90, func(90)))

参考链接:

    http://www.manonggu.com/suancheng/view1101.html

相关文章

  • 算法题目-正整数分解质因数

    题目 将一个正整数分解质因数。例:输入90,打印出90=2*3*3*5。 解题思路 对n进行分解质因数,应先找...

  • 题目4:将一个正整数分解质因数

    题目: 将一个正整数分解质因数。例如:输入90,打印出90=233*5。 程序分析: 对n进行分解质因数,应先找到...

  • python入门级别算法系列 -1 分解质因数

    1.题目:分解质因数   将一个正整数分解质因数,即分解为由若干个质数相乘的结果,例如:输入90,打印出, 其中2...

  • day8

    题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到...

  • python例题14

    题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到...

  • Python100例--014

    题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5

  • Python 编程练习013:分解质数

    题目 将一个正整数分解质因数。例如:输入90,打印出90=233*5。 对n进行分解质因数,应先找到一个最小的质数...

  • 鱼C论坛 | Python每日一题9

    题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。程序分析:对n进行分解质因数,应先找到一个最...

  • 分解质因数

    题目将一个正整数分解质因数。例如:输入90,打印出90=233*5. 程序分析 对n进行分解质因数,应先找到一个最...

  • 郑州轻工业大学oj题解(C语言)1071: 分解质因子

    1071: 分解质因子 题目描述将一个正整数分解质因数,例如,输入90,输出2 3 3 5。 输入输入一个正整数n...

网友评论

      本文标题:算法题目-正整数分解质因数

      本文链接:https://www.haomeiwen.com/subject/bunoxftx.html