用Javascript编写:在页面中显示1~100之间的所有素数,并且控制每行显示5个素数。

如题所述

原理:
如果i可以整除2到i/2的数,它就不是素数;如果全部都不能整除,它就是素数。
因为i肯定不能整除i/2到i之间的数,所以不用计算,减少运算的时间。

我把本功能分了2个函数来写,一个用来计算素数,一个用来显示结果。这样如果显示的时候需要更改格式,不需要改计算素数的函数,重用性比较好

//调用函数显示结果,把0到100间的素数显示在id为result的div中
printArray(sushu(0,100),'result');
//显示数组的函数,以空格为间隔显示数组的值,每行显示5个。调用时第一个值arr写需要显示的数组第二个值area写数组显示的位置的ID
function printArray(arr,area){
var str='';
for(var i=0;i<arr.length;i++){
if(i>0 && i%5==0) str=str+"<br />";
str=str+arr[i]+'& nbsp;';//& nbsp;请去掉&后的空格,可以换成其他的间隔符号
}
document.getElementById(area).innerHTML=str;
}
//计算素数用的函数,使用时输入start和end,计算start到end之间的素数
function sushu(start,end){
if(start<0 ||start>end) return "error";
if(start<2) start=2;
var flag=false;
var strResult=new Array();
for(var i=start;i<end;i++){
for(var j=2;j<(i/2);j++){
if(i%j==0) flag=true;
}
if(!flag) strResult.push(i);
else flag=false;
}
return strResult;
}

html中写<div id="result"></div>
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-22
function sushu()
{
var n = 1;
var flg = false;
for(var i=2;i<=100;i++)
{
for(var j=2;j<i;j++)
{
if(i % j == 0)
{
flg = true;
}
}

if(!flg)
{
if(n % 5 == 0)
{
document.write("<br />");
}
document.write(i);
n++;
}
}
}本回答被网友采纳
第2个回答  2010-12-22
#include <stdio.h>
char rec[101];
int main()
{
int i, j, count = 0;
for(i = 2; i <= 10; i++)
{
if(rec[i])continue;
for(j = 2; j * i <= 100; j++)rec[i * j] = 1;
}
for(i = 2; i <= 100; i++)
{
if(rec[i])continue;
printf("%d", i);
if((++count) % 5 == 0)printf("\n");
else
printf(" ");
}
return 0;
}

用Javascript编写:在页面中显示1~100之间的所有素数,并且控制每行显示5...
printArray(sushu(0,100),'result');\/\/显示数组的函数,以空格为间隔显示数组的值,每行显示5个。调用时第一个值arr写需要显示的数组第二个值area写数组显示的位置的ID function printArray(arr,area){ var str='';for(var i=0;i<arr.length;i++){ if(i>0 && i%5==0) str=str+"";...

如何用javascript编写出出1到100的素数?
首先,先创建一个html文件,然后在head标签里的script标签放入这一段js代码,这是我们团队建立的一个面对it新手教程的网站,里面有不少html、css、js案例教程,有什么不懂还可以到我们网站来看网页链接 document.write("1~100的素数:")var shu=0;for(var i=1;i<101;i++){ for(var n=2;n<...

求一个用java编写的1到100内的素数,并且每行输出5个素数
public static void main(String[] args) { int i, count = 0;for(i=2; i<=100; i++){ if(isPrimeNumber(i) == true){ count++;System.out.printf("%6d", i);if(count%5 == 0){ System.out.println();}}}\/\/判断一个数是否是素数,若是,返回true,否则返回falsepublic static...

如何用编程计算1~100之间的所有素数?
0,1,1,7 r3-(5\/2)r1:4,1,2,4 0,7\/4,-1\/2,1 0,5\/2,-3,-10 0,1,1,7 r3-(10\/7)r2:4,1,2,4 0,7\/4,-1\/2,1 0,0,-16\/7,-80\/7 0,1,1,7 r4-(4\/7)r2:4,1,2,4 0,7\/4,-1\/2,1 0,0,-16\/7,-80\/7 0,0,9\/7,45\/...

1到100的质数JavaScript代码
一:十万一下的 呵呵算法一:测试 10 万以下的质数: 程序代码 \/\/ 获得 0 到 limit 之间的素数 \/\/ author: dron function getPrimeNumbers(limit){ var result = [2];var is;if(limit < 2)return [];for(var i = 3, s; i <= limit; i += 2){ is = true;s = Math.sqrt(i...

输出100以内的素数 JavaScript语言实现
function setSuShu(max){ if(max<=3){ alert('数字太小。\\n有2和3两个素数!');} var isSuShu=true;for(var i=2;i<max;i++){ isSuShu=true;for(var j=2;j<=Math.sqrt(i);j++)\/\/素数只用对比到2到这个数的平方根这里就可以了 { if(i%j==0){ isSuShu=false;break;} } i...

请编写一个程序,输入100以内的所有素数,要求每行仅输出5个素数
除2以外,素数皆为奇数,所以对2单独处理,从3开始,将100以内的奇数逐一进行素数考察,是则输出,不是则跳过。另设一计数变量控制换行,每输出5个素数添加一个回车。代码如下:include "stdio.h"int main(int argc,char *argv[]){int i,n,t;printf(" 2");\/\/单独处理2for(t=1,i=3;i<...

用JavaScript语言编程实现判断100以内的素数
} return primeArr;}prime(100)\/\/函数调用prime(100);\/\/计算100以内的素数:素数即除去1和其本身两个数之外,不能被任何数整除的整数。由公理可知,如果一个整数能被分解成多个整数,则必有一个数不大于该整数的平方根(反证法可知,如果分解成的两个数都大于平方根,则乘积必大于原数)...

2到100之间的素数(javascript)
\/\/调用函数显示结果,把0到100间的素数显示在id为result的div中 printArray(sushu(0,100),'result');\/\/显示数组的函数,以空格为间隔显示数组的值,每行显示5个。调用时第一个值arr写需要显示的数组第二个值area写数组显示的位置的ID function printArray(arr,area){ var str='';for(var i=0;...

输出1到100之间的素数 用JAVA编写
iii=iii+1;} } if(iii==1){ Console.WriteLine(i.ToString());} } Console.ReadLine();这个最好理解 int MAX_NUM = 100; \/\/最大 List <int> primes = new List <int>(); \/\/保存所有找到的质数 primes.Add(2); \/\/2是第一个质数也是唯一的偶数 for(int i = 3; i <= MAX_...

相似回答