
如何用Javascript求出100到200之间的素数??
3个回答
展开全部
我的思路是:获取2个数之间的所有质数就是把2个数之间的数一个个的枚举出来,然后判断这个数是否为质数。判断方法比较简单(效率比较低),就是循环使用被除数,被除数从这个数本身的值减少1开始,直到2为止,如果存在能整除这个数的被除数(跳出循环),那么这个数就不是质数,如果循环结束时被除数为1,那么这个数就是质数。
代码(所有代码复制到文本中,保存成html格式然后直接运行就ok了):
<html><body>
<script type="text/javascript">
function prime(start, end){
var i, j, a = [];
for(i = start; i < end; i++){
for(j = i - 1; j > 0; j--){
if(j == 1)break;
if(i%j == 0)break;
}
if(j == 1){
a.push(i);
}
}
alert(a);
}
prime(100, 200);
</script>
</body></html>
代码(所有代码复制到文本中,保存成html格式然后直接运行就ok了):
<html><body>
<script type="text/javascript">
function prime(start, end){
var i, j, a = [];
for(i = start; i < end; i++){
for(j = i - 1; j > 0; j--){
if(j == 1)break;
if(i%j == 0)break;
}
if(j == 1){
a.push(i);
}
}
alert(a);
}
prime(100, 200);
</script>
</body></html>
展开全部
很简单的,首先枚举100到200之间的每个数,分别用来调用一个判断素数的函数进行判断就好了啊。刚随便写了个判断素数的函数,凑合着看看吧。
function isPrime(n)
{
m = sqrt(n);
for (int i = 2; i <= m; ++i)
{
if (n % i == 0)
return false;
}
return true;
}
function isPrime(n)
{
m = sqrt(n);
for (int i = 2; i <= m; ++i)
{
if (n % i == 0)
return false;
}
return true;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ude "stdio.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;break;}
if(leap) {printf("%-4d",m);h++;
if(h%5==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;break;}
if(leap) {printf("%-4d",m);h++;
if(h%5==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询