不二如是 发表于 2017-5-12 07:26:12

算法8 ◉‿◉ 进阶版-算法5

http://xxx.fishc.com/forum/201705/05/225545py2j222x5z6x55n2.png

按照提示,完成代码,秀秀你的编程能力!

不许看答案,否则打屁屁



程序分析:
输入 90, 打印出 90=2*3*3*5 。       

源代码:
**** Hidden Message *****



○面试题索引贴●
如果喜欢,请订阅{:10_303:} :
HTML5 - 庖丁解牛 + JavaScript - 庖丁解牛

~风介~ 发表于 2017-5-12 17:15:06

感觉前端的语言完全学不会啊, 一看到就不想看到了~{:10_250:}

不二如是 发表于 2017-5-12 21:43:51

~风介~ 发表于 2017-5-12 17:15
感觉前端的语言完全学不会啊, 一看到就不想看到了~


其实抛开Html,css不讲

Js还是和C,Python感觉差不多。。。

只不过需要适应节奏{:10_297:}

SanJin 发表于 2017-11-22 11:54:39

emmm想了半天没相出一个好思路

油条C 发表于 2017-11-28 14:42:39

c

dsa159245 发表于 2018-4-29 03:59:09

                        window.onload = function(){
                                var num = parseInt(prompt("请输入一个数字"));
                                var str = num+"=";
               
                                for(var i = 2;num >i;i++){
                                        if(num%i == 0){
                               
                                                str += i+'*';
                                                num = num / i;
                                                i = 1;
                                        }
                                }
                                str += i;       
                               
                                alert(str);
                        };

shishao723 发表于 2018-5-23 18:59:57

看看

waitforlove 发表于 2018-9-22 15:35:37

看看

a211827754 发表于 2018-9-23 16:18:59

本帖最后由 a211827754 于 2018-9-23 16:23 编辑

        var input = prompt("请输入一个整数");
        let str = '';
        while(input != parseInt(input)){
                alert("你可能输入了一个假的数!");
                var input = prompt("请输入一个整数");
        }
        str = input + "=";
        if(input <= 3){
                str += input;
        } else {
                for(let i = 2; i <= input; i++){
                        while(input % i == 0){
                                input /= i;
                                str += i + '*';
                        }
                }
                str += "1";
        }
        alert(str.split("*1").join(''));

凌乱大帅比 发表于 2018-10-8 14:16:01

本帖最后由 凌乱大帅比 于 2018-10-8 15:01 编辑

给一段异常精简的代码{:10_279:}
var nums = [];
var divide = function(n){
        var i = 2;
        while(n>=i){if(n%i != 0){i++;}else{n/=i;nums.push(i);}}
}
divide(90);
document.write('<br>'+nums.join('x'));











其实就是把if压缩到一行了{:10_264:}

海风zZ 发表于 2018-10-10 14:55:22

学习一下子哈

simble 发表于 2018-10-24 14:50:19

写的认为有缺陷,但是试了几个都是正确
<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
        </head>
        <body>
        </body>
        <script>
                var input = prompt('输入值:');
                document.write(input+'=');
                var nn;
                for(var n=2;n<=Math.sqrt(input);n++){
                        if(n==input){
                                break;
                        }
                        while(input%n==0){
                                if(n==input){
                                        break;
                                }
                                input /= n;
                                document.write(n+'*');
                        }
                        nn = input;
                }
                document.write(nn);
        </script>
</html>

Wu! 发表于 2018-11-26 16:51:46

c

(_灬绝℡纞乄 发表于 2018-11-27 18:39:18

学习学习

cupbbboom 发表于 2018-12-25 11:05:22

<!DOCTYPE html>
<html>
<head>
        <title>JavaSctipt</title>
        <meta charset="utf-8">
</head>
<body>
        <script>
                function fF(n) {
                        var m = 2;
                        var r = "1";
                        while (true) {
                                if (n == m) {
                                        r += " * " + m;
                                        break;
                                }
                                else if (n % m == 0) {
                                        n = n / m;
                                        r += " * " + m;
                                        m = 2;
                                }
                                else {
                                        m += 1;
                                }

                        }
                        return r;
                }
                document.write("90 = " + fF(90))
        </script>
</body>
</html>

白无痕 发表于 2019-4-23 01:48:14

学习学习

新手·ing 发表于 2019-4-27 08:17:44

看看

土豆拌饭 发表于 2019-8-5 17:42:42

0.0

掵ф伫錠 发表于 2019-12-14 17:29:34

我就想看看答案

sensems 发表于 2020-1-10 16:09:24

进阶版要求呢?
页: [1] 2
查看完整版本: 算法8 ◉‿◉ 进阶版-算法5