美文网首页
Day 33/100 (华为机试)质数因子

Day 33/100 (华为机试)质数因子

作者: 赵国星 | 来源:发表于2020-09-02 18:43 被阅读0次

    写在前面的话

    这篇是提前看了答案后,自己又写的,还是会有心的问题

    相比于追求好的算法而言,独自完成会更好一些

    毕竟,自己的人生得自己走,坑不踩不知道...

    (一)题目描述

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

    最后一个数后面也要有空格

    输入描述:

    输入一个long型整数

    输出描述:

    按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。

    示例1

    输入

    180

    输出

    2 2 3 3 5

    (二)解题思路

    1、循环从2到输入数的算术平方根

    1)从2开始,是因为最小的质数是2;

    2)题目要求输出,所有的质数,所以会多一层循环,一直除找到的质数,直到除尽;

    for(let i=2;i<Math.sqrt(num);i++){

        while(tmp%i ==0){

            str = str + i +' ';

            tmp =tmp/i;

        }

    }

    2、处理特殊情况

    最后一个数,是质数的情况;

    需要将最后一个质数也添加到之前的字符串中;

    3、全部代码


    运行结果如下

    通过弹窗

    参考链接

    https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607?tpId=37&&tqId=21229&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking

    以上

    相关文章

      网友评论

          本文标题:Day 33/100 (华为机试)质数因子

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