目录
任务描述
质数的定义如下:大于1
的自然数,且除了1
和本身外没有别的因数。如2
、3
、5
、7
。
本关任务:利用循环结构求质数的和。
相关知识
在选择结构中,条件会被测试一次,成立则执行if
内语句,结束后回到主线执行下一条语句。循环结构在执行结束后会再次判断条件是否成立,这样一直重复下去直到条件不成立。
本关将介绍while
型循环结构。
while类型
while
类型的循环结构如下:
while(条件表达式)
{
//条件成立执行里面的语句
}
和条件语句一样,循环语句先判断条件表达式是否成立,如果成立,执行大括号内部的语句块;如果不成立则直接跳过循环体。如下:
语句块执行结束后,再次回到条件表达式,判断表达式是否成立,成立则执行大括号内语句块,不成立执行循环体外下一句。这个过程会一直重复进行,直到条件表达式不再成立为止,也就是说,大括号内的语句块有可能被执行多次。
在执行大括号内的语句块的过程中,条件表达式内的某些变量的值会被改变,等到下一次执行的时候条件表达式有可能不再成立。这样循环会在有限的次数内结束。
输出100
以内的偶数的例子:
var i = 0;
while(i <= 100) {
console.log(i);
i = i+2;//条件表达式里面变量i的值改变了
}
在上面的例子中,条件表达式中的i
变量会在循环体内被加上2
,这样总会在某个循环时,条件表达式不再成立,循环结束。
编程要求
本关的编程任务是补全右侧代码片段中Begin
至End
中间的代码,具体要求如下:
-
求出小于等于整数
a
的所有质数; -
计算并返回所有这些质数的和;
function mainJs(a) {
a = parseInt(a);
//请在此处编写代码
/********** Begin **********/
var sum = 0;
var i = 0;
while (i <= a) {
var j = 2;
while (j < i) {
if (i % j == 0) {
break;
}
j++;
}
if (i == j) {
sum += i;
}
i++;
}
return sum;
/********** End **********/
}