不二如是 发表于 2017-5-19 20:35:56

算法13 ◉‿◉ 判断 101-200 之间有多少个素数,并输出所有素数。

本帖最后由 不二如是 于 2017-5-19 20:35 编辑

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

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

不许看答案,否则打屁屁



程序分析:

判断素数的方法:用一个数分别去除 2 到 sqrt( 这个数 ) 如果能被整除,则表明此数不是素数,反之是素数。
       

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



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

sunbocheng 发表于 2017-8-28 23:35:38

en

yuyisuo 发表于 2017-9-6 11:33:27

window.onload = function () {

                        let result = [];

                        for (let i = 101; i <= 200; i++) {

                                let flag = true;

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

                                        if (i % j === 0) {
                                                flag = false;
                                                break;
                                        }

                                }

                                if (flag) {
                                        result.push(i);
                                }
                        }

                        console.log(result);

                };

dsa159245 发表于 2018-4-29 10:41:14

                        window.onload = function(){
                               
                                var str = '';
                               
                                for(var i = 101; i <= 200;i++){
                                        if(is_prime(i)){
                                                str += i + ',';
                                        }
                                }
                               
                               
                                document.body.innerHTML = str;
                               
                               
                                functionis_prime(n){
                                        for(var i = 2; i <= Math.sqrt(n);i++){
                                                if(n % i == 0){
                                                        return false;
                                                }
                                        }
                                       
                                        return true;
                                }
                        };

向一朵朵鲜花 发表于 2018-5-3 15:51:37

kankan

向一朵朵鲜花 发表于 2018-5-3 15:56:29

咱们这个js 有学习交流群不?

shishao723 发表于 2018-5-24 12:12:08

看看

1173419450 发表于 2018-7-5 18:22:42

看看

waitforlove 发表于 2018-9-22 21:54:14

<!DOCTYPE html>
<html>
<head>
        <title>13</title>
        <script type="text/javascript">
                var sushu=new Array();
                for(var i=100;i<200;i++){
                        sushu.push(i)
                        var temp=i;
                        for(var j=2;j<temp;j++){
                                if(i%j==0){
                                        i=i/j;
                                        j=1;
                                        if(i==1){
                                                sushu.pop(temp);
                                        }
                                }
                        }
                        i=temp;
                }
                document.write("100到200间的素数有:"+sushu)
        </script>
</head>
<body>

</body>
</html>

a211827754 发表于 2018-9-23 17:05:04

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

        let know = function(min,max) {
                let str = '';
                let check = function(input) {
                        let count = 0;
                        let flag = 1;
                        for(let i = 2; i < input; i++){
                                if(input % i ==0){
                                        flag = 0;
                                        break;
                                }
                        }
                        if(flag == 1){
                                if(input == 1){
                                        return '';
                                } else {
                                        return input + ' ';
                                }
                        } else {
                                flag = 1;
                                return '';
                        }
                }
                for(let j = min; j <= max; j++){
                        str += check(j);
                }
                return str;
        }
        alert(know(101,200));

凌乱大帅比 发表于 2018-10-9 16:30:11

var prime_nums_fun = function(n){
        var prime_nums = [],isPrimeNum;
        for(var i=2;i<n;i++){
                if(n%i == 0){
                        isPrimeNum = 0;
                        return false;
                        break;
                }else{
                        isPrimeNum = 1;
                }
        };
        if(isPrimeNum==1){
                prime_nums.push(n);
        }
        document.write(prime_nums+',');
       
}
prime_nums_fun(17);
for(var i=101;i<200;i++){
        prime_nums_fun(i);
}

写这段的时候,出现了for执行完后,后续操作不执行的bug

百度一下,说是数组访问越界的问题,也就是for那里要写<而不是<=

如果有了解的大佬麻烦告知一波原理{:10_245:}

simble 发表于 2018-10-24 16:15:01

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
        </head>
        <body>
        </body>
        <script>
                for(var i=100;i<201;i++){
                        for(var j=2;j<Math.sqrt(i);j++){
                                if(i%j==0){
                                        break;
                                }else{
                                        if(j==parseInt(Math.sqrt(i))){
                                                document.write(i+',');
                                        }
                                }
                        }
                }
        </script>
</html>

wangdxf 发表于 2019-4-1 12:38:45

{:5_102:}

kykio 发表于 2019-4-1 15:46:00

学习

白无痕 发表于 2019-4-23 19:38:09

        for (var i=101 ; i < 200 ; i++){
                var flag = true;
                for (var j=2 ; j < i ; j++){
                        if (i%j == 0){
                                flag = false;
                                break;
                        }
                       
                }
                if (flag == true){
                        console.log(i);
                }
        }

jack6666 发表于 2022-10-14 16:44:20

1

Dmol 发表于 2022-10-16 20:18:50

1

WWWilliam 发表于 2022-10-24 23:03:16

我爱你

hamletroy 发表于 2022-10-26 12:31:30

{:10_277:}
页: [1]
查看完整版本: 算法13 ◉‿◉ 判断 101-200 之间有多少个素数,并输出所有素数。