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

素数又称质数,是大于1的自然数,并且只有1和它本身两个因数。

具体实现代码如下:

运行代码

<!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="请输入数字" onfocus="clearNumbers()"  />
    <button onclick="printPrime1()" >打印素数(方法1)</button>
    <label>耗时</label>
    <label id="showTime1"></label>
    <button onclick="printPrime2()" >打印素数(方法2)</button>
    <label>耗时</label>
    <label id="showTime2"></label>
</div>
<P id="all1" mode="wrap"></P>
<P id="all2"></P>
</body>
</html>
时间: 2024-11-09 06:21:32

javascript 显示一定范围内的素数(质数)的相关文章

python 求100内的素数/质数

质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数 1 list1=[] 2 num=0 3 4 for i in range(2,100): 5 for j in range(2,int(i**0.5)+1): 6 print(int(i**0.5)+1) 7 if i%j==0: 8 break 9 else: 10 list1.append(i) 11 num+=1 12 print(list1) 13 pr

C#筛法求出范围内的所有质数

    科普篇:筛法是一种简单检定素数的算法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛法(sieve of Eratosthenes). 说实话,之前我在求质数的场合都是验证某一数是否为质数的,用定义求即可方便的得出结论,代码如下: 01: public static bool IsPrime(int n) 02: {//判断n是否是质数 03: if (n < 2) return false; 04: for (int i =

poj 2689 Prime Distance(筛一个区间内的素数(或合数))

: [题意说明] 给你指定的范围[L, U],在这个范围内找出相邻最近和最远的两组质数,若最近或最远值相同,输出较小的那组.其中:1≤L,另U-L≤1000000. [问题分析] 此题与质数有关,显然若是能求出[L, U]之间的质数,然后从前往后扫描一遍即可出需要的结果,但问题是L与U的范围太大,是不可能在规定的时间内实现的. 但这里给我们提供了另一个条件:U-L≤1000000,如果我们只求1000000以内的素数,完全可以在规定的时间实现的!但由于所求的不是1-1000000以内的素数,所以

2的29次方范围内的素数

今天隔壁室友让我帮他写一个晒素数的程序 我就写了一个  发现再int范围内的素数筛不出来,,,, 电脑只能跑到 2的29: #include <cstdio> #include <cstring> #include <algorithm> #include <map> #include <iostream> #include <time.h> using namespace std; typedef long long ll; boo

JavaScript遍历IP段内所有IP

思路:将两个IP转换为数字进行比较,小的那个慢慢加一,直到变成大的那个IP所转换的数字,将这其中的数字再转换为IP地址即为IP段内所有的IP. 1 //IP转数字 2 function ip2int(ip) 3 { 4 var num = 0; 5 ip = ip.split("."); 6 num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(i

JavaScript显示分页按钮

/** * * @param total_page 总页数 * @param current_page 当前页 * @param num 页面显示多少个分页按钮 * @returns {string} */ exports.get_page_html = function(total_page,current_page,num){ //范围判断 if(current_page>total_page) { current_page = total_page; } //当前页的前后各显示多少页 va

代码实现:判断101-200之间有多少个素数(质数),并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

package com.heima.Coding; /* 判断101-200之间有多少个素数(质数),并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数.*/ public class Test { public static void main(String[] args) { int count = 0; for (int i = 100; i < 200; i++) { for (int j = 2; j <=

JavaScript-在当前显示区范围内实现点不到的小方块

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>在当前显示区范围内实现点不到的小方块</title> 6 <style> 7 div{position:fixed;width:50px;height:50px; 8 background-color:pink; 9 } 10 </style> 11 1

「C语言」「算法」输出指定范围内的素数

#include <stdio.h> //输出指定范围内的素数 int main(){ int a,b; int i,j; printf("请输入整数范围并用空格隔开:\n"); scanf("%d%d",&a,&b); for(i=a;i<=b;i++){ for(j=2;j<=i-1;j++) { if(i%j==0) break; } if(j>=i-1) printf("%d ",i); }