如何显示素数#和#x27;使用JavaScript在表中创建
我试图在表格中显示1-999之间的素数,但我在网上或其他任何地方都找不到简单的答案 这是书中的问题: 素数是一个只能被自身除的数 或者一个接一个。素数的例子包括1、3、5、13和17。 编写一个脚本,在一个数组中打印介于1和999之间的素数 由10列组成的表。您需要使用几个循环语句和条件语句来测试所有除法的可能性。使用 document.write()语句创建表元素和 计数器变量创建表,使其由10列组成。 计数器变量应以初始值0开始,并为 每次代码识别素数时递增一 并在表格单元格中打印。一旦计数器变量达到某个值 为10(表示已将10个单元格添加到当前行), 打印如何显示素数#和#x27;使用JavaScript在表中创建,javascript,html,numbers,tabular,Javascript,Html,Numbers,Tabular,我试图在表格中显示1-999之间的素数,但我在网上或其他任何地方都找不到简单的答案 这是书中的问题: 素数是一个只能被自身除的数 或者一个接一个。素数的例子包括1、3、5、13和17。 编写一个脚本,在一个数组中打印介于1和999之间的素数 由10列组成的表。您需要使用几个循环语句和条件语句来测试所有除法的可能性。使用 document.write()语句创建表元素和 计数器变量创建表,使其由10列组成。 计数器变量应以初始值0开始,并为 每次代码识别素数时递增一 并在表格单元格中打印。一旦计数
以开始新行并将变量重置为0。拯救
该文档的名称为PrimeNumbers.html
非常感谢您的帮助!我真的被这个问题困住了。我要回答这个问题,告诉你应该怎么做,因为你的那本书很糟糕 首先,不要使用
文档。编写。这是一个过时的功能,存在许多更好的替代方案
首先,让我们定义一个函数来测试一个数字是否为素数:
function isPrime(n) {
if( n < 2) return false;
// a number is prime if it is divisible only by 1 and itself.
// so, let's check it
var rt = Math.sqrt(n), i;
for( i=2; i<=rt; i++) {
if( n%i == 0) {
// the number is divisible by something else.
return false;
}
}
return true;
}
我还定义了我们需要的变量。现在我们只需循环一下,看看我们得到了什么:
for( i=2; i<1000; i++) { // we can start at 2, because as I said earlier 1 is not prime
if( isPrime(i)) {
// if the number of found numbers is a multiple of 10, start a new row
// the first prime we find will be "number 0", which is divisible by 10.
if( found % 10 == 0) tr = tbd.appendChild(document.createElement('tr'));
td = tr.appendChild(document.createElement('td'));
td.appendChild(document.createTextNode(i));
found++;
}
}
最后,我们将表添加到页面:
document.body.appendChild(tbl);
完成了 我要回答这个问题,告诉你应该怎么做,因为你的那本书不好
首先,不要使用文档。编写。这是一个过时的功能,存在许多更好的替代方案
首先,让我们定义一个函数来测试一个数字是否为素数:
function isPrime(n) {
if( n < 2) return false;
// a number is prime if it is divisible only by 1 and itself.
// so, let's check it
var rt = Math.sqrt(n), i;
for( i=2; i<=rt; i++) {
if( n%i == 0) {
// the number is divisible by something else.
return false;
}
}
return true;
}
我还定义了我们需要的变量。现在我们只需循环一下,看看我们得到了什么:
for( i=2; i<1000; i++) { // we can start at 2, because as I said earlier 1 is not prime
if( isPrime(i)) {
// if the number of found numbers is a multiple of 10, start a new row
// the first prime we find will be "number 0", which is divisible by 10.
if( found % 10 == 0) tr = tbd.appendChild(document.createElement('tr'));
td = tr.appendChild(document.createElement('td'));
td.appendChild(document.createTextNode(i));
found++;
}
}
最后,我们将表添加到页面:
document.body.appendChild(tbl);
完成了 下面是一个简单的示例
vari,
首要的
上限=999,
下限=1,
N
对于(n=下+1;n<上;n++){
素数=1;
对于(i=2;i
将这些值附加到表中。以下是获取
vari,
首要的
上限=999,
下限=1,
N
对于(n=下+1;n<上;n++){
素数=1;
对于(i=2;i
将这些值附加到表中。仅获取素数:
function is_prime(n)
{
if ((n < 2) || ((n % 2) == 0)) {
return (n == 2);
}
for (f = 3; (f * f) <= n; f += 2) {
if ((n % f) == 0) {
return false;
}
}
return true;
}
var primes = [];
for (n = 1; n < 1000; n++) {
if (is_prime(n)) {
primes.push(n);
}
}
console.log(primes);
函数为素数(n)
{
如果((n<2)| |((n%2)==0)){
返回值(n==2);
}
对于(f=3;(f*f),仅为了得到素数:
function is_prime(n)
{
if ((n < 2) || ((n % 2) == 0)) {
return (n == 2);
}
for (f = 3; (f * f) <= n; f += 2) {
if ((n % f) == 0) {
return false;
}
}
return true;
}
var primes = [];
for (n = 1; n < 1000; n++) {
if (is_prime(n)) {
primes.push(n);
}
}
console.log(primes);
函数为素数(n)
{
如果((n<2)| |((n%2)==0)){
返回值(n==2);
}
对于(f=3;(f*f)似乎是理论,试着用你迄今为止尝试过的代码对你的问题给出一个精确的解释。1不是质数。我真的不知道从哪里开始。这只是我做JavaScript的第三周。而且,任何建议你使用文档的书。写都应该被神圣的火焰烧掉。欢迎来到堆栈溢出!请请确保在发布之前搜索类似问题-看起来像此问题的海报()我试着按照你的书中告诉你的去做,答案显示了各种筛选方法,这些方法会更好!似乎是理论,试着用你迄今为止尝试过的代码对你的问题给出精确的解释。1不是质数。我真的不确定从哪里开始。这只是我做JavaScript的第三周。而且,任何一本书都不会hat建议您使用文档。write
应该用圣火焚烧。欢迎使用Stack Overflow!请确保在发布之前搜索类似问题-看起来像此问题的海报()我试着按照你的书中告诉你的去做,答案显示了各种筛选方法,它们会更好!出于效率原因,你可能应该学习一些基础数学:例如,当测试11是否为素数时,没有必要看你是否能将其除以4、5或6……或者确实是任何大于其平方的东西ot.出于效率的原因,你可能应该学习一些基础数学:例如,当测试11是否为素数时,没有必要看你是否可以将它除以4、5、6……或者甚至任何大于其平方根的东西。+1我喜欢你的isPrime()的效率
方法和小提琴非常棒。+1我喜欢你的iPrime()的效率
方法和小提琴棒棒极了。预计算正在测试的数字的平方根比重复计算当前除数的平方更有效。预计算正在测试的数字的平方根比重复计算当前除数的平方更有效。