javascript 显示一定范围内的素数(质数)转

Posted 雪上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 显示一定范围内的素数(质数)转相关的知识,希望对你有一定的参考价值。

//<span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 21.6000003814697px;">素数又称质数,是大于1的自然数,并且只有1和它本身两个因数。</span><a target=_blank href="http://www.cnblogs.com/greenteaone/p/4210789.html">转文地址</a>
<!DOCTYPE HTML>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script type="text/javascript" src="http://files.cnblogs.com/greenteaone/jquery-2.1.3.min.js" charset="utf-8"></script>
    <title></title>
</head>
<body>
<script type="text/javascript">
    //方法1,当要求取得超过5000范围内的素数时,此法耗时少
    function printPrime1()
        var t1=new Date();
        var n=$("#number").val();
        var status=0;
        var numbers='方法1:2,3';
        var all=2;
        console.log('素数=',2);
        for(var i=5;i<n;i++)
            for (var j = 2; j <= Math.sqrt(i); j++) 
                if (i % j == 0) 
                    status = 0;
                    break;
                 else 
                    status = 1;
                
            
            if(status==1)
                numbers=numbers+','+i;
                all=all+1;
            
        
        var t2=new Date();
        var t=parseFloat(t2-t1);
        $("#showTime1").html(t);

        $('#all1').html('总的素数'+all+','+numbers);
    
    //方法2:当要求取得小于5000范围内的素数时,此法耗时跟方法1相差不大
    function printPrime2()
        var t1=new Date();
        var n=$("#number").val();
        var status=0;
        var all=1;
        var numbers='方法2:2';
        for(var i=3;i<n;i++)
            for(var k=2;k<i;k++)
                if(i%k==0)
                    status=0;
                    break;
                else
                    status=1
                
            
            if(status==1)
                numbers=numbers+','+i;
                all=all+1;
            
        
        var t2=new Date();
        var t=t2-t1;
        $("#showTime2").html(t);
        $('#all2').html('总的素数'+all+','+numbers);
    
    function clearNumbers()
        $('#all1').html('');

        $('#all2').html('');
    
</script>
<style type="text/css">
    input
        text-align: center;
        height:30px;
        border:1px solid #CCC;
        border-radius: 3px;
        box-shadow:3px 3px lavender ;
    
    button
        box-shadow: 2px 3px lavenderblush;
        height: 30px;
        border-radius: 13px;
        border: 1px solid #ccc;
        background: coral;
    
    label
        width: 60px;
    
    p
        width:90%;
        margin:auto;
        word-break: break-all ;
        line-height: 30px;
    
    div
        width:90%;
        margin:auto;
    
</style>
<div>

    <input type="text" id="number" placeholder="请输入数字" οnfοcus="clearNumbers()"  />
    <button οnclick="printPrime1()" >打印素数(方法1)</button>
    <label>耗时</label>
    <label id="showTime1"></label>
    <button οnclick="printPrime2()" >打印素数(方法2)</button>
    <label>耗时</label>
    <label id="showTime2"></label>
</div>
<P id="all1" mode="wrap"></P>
<P id="all2"></P>
</body>
</html>

以上是关于javascript 显示一定范围内的素数(质数)转的主要内容,如果未能解决你的问题,请参考以下文章

寻找一定范围内的质数.md

如何制作在给定范围内打印质数的程序

素数筛(筛选出一定范围内的所有素数)

javascript打印1-100内的质数

质数——筛选法

模板小程序求小于等于N范围内的质数