Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
coffeescript素数生成_Coffeescript_Primes - Fatal编程技术网

coffeescript素数生成

coffeescript素数生成,coffeescript,primes,Coffeescript,Primes,我试图生成这样的素数: generatePrimeNumbersBelowN = (n) -> for i in [2..n-1] isPrime = true for j in [2..i-1] isPrime = false if i % j == 0 break if not isPrime console.log(i, "is Prime Number.") if isPrime generatePrimeNumbersBelo

我试图生成这样的素数:

generatePrimeNumbersBelowN = (n) ->
  for i in [2..n-1]
    isPrime = true
    for j in [2..i-1]
      isPrime = false if i % j == 0
      break if not isPrime
    console.log(i, "is Prime Number.") if isPrime

generatePrimeNumbersBelowN(100);
我得到的质数是3到97,包括3到97。我不熟悉JavaScript/CoffeeScript,所以请告诉我2发生了什么

以下是生成的JS代码:

var generatePrimeNumbersBelowN;

generatePrimeNumbersBelowN = function(n) {
  var i, isPrime, j, k, l, ref, ref1, results;
  results = [];
  for (i = k = 2, ref = n - 1; 2 <= ref ? k <= ref : k >= ref; i = 2 <= ref ? ++k : --k) {
    isPrime = true;
    for (j = l = 2, ref1 = i - 1; 2 <= ref1 ? l <= ref1 : l >= ref1; j = 2 <= ref1 ? ++l : --l) {
      if (i % j === 0) {
        isPrime = false;
      }
      if (!isPrime) {
        break;
      }
    }
    if (isPrime) {
      results.push(console.log(i, "is Prime Number."));
    } else {
      results.push(void 0);
    }
  }
  return results;
};

generatePrimeNumbersBelowN(100);
var generatePrimeNumbersBelowN;
generatePrimeNumbersBelowN=函数(n){
变量i,isPrime,j,k,l,ref,ref1,结果;
结果=[];
对于(i=k=2,ref=n-1;2
当
i
为2时,
j
的范围从2到1。然后检查
i%j
,它是2%1,它是零,并声明2不是素数

因为[b..a]中x的
提供了从b到a的向下循环,而循环构造解决了这个问题

generatePrimeNumbersBelowN = (n) ->
  i = 2
  while i < n
    isPrime = true
    j = 2
    while j < i
      isPrime = false if i % j == 0
      break if not isPrime
      j++
    console.log(i, "is Prime Number.") if isPrime
    i++

generatePrimeNumbersBelowN(100);
generatePrimeNumbersBelowN=(n)->
i=2
而我
isPrime=true
j=2
而j
i
为2时,
j
的范围从2到1。然后检查
i%j
,它是2%1,它是零,并声明2不是素数

因为[b..a]中x的
提供了从b到a的向下循环,而循环构造解决了这个问题

generatePrimeNumbersBelowN = (n) ->
  i = 2
  while i < n
    isPrime = true
    j = 2
    while j < i
      isPrime = false if i % j == 0
      break if not isPrime
      j++
    console.log(i, "is Prime Number.") if isPrime
    i++

generatePrimeNumbersBelowN(100);
generatePrimeNumbersBelowN=(n)->
i=2
而我
isPrime=true
j=2
而j