TypeError:path必须是一个字符串; CodeEval Prime回文错误

时间:2016-05-27 17:51:51

标签: javascript

我有正确的解决方案在CodeEval上获取Prime Palindrome问题,但不断收到以下错误:

TypeError: path must be a string

这是我的解决方案:

var fs = require('fs');
fs.readFileSync(process.argv[2])
  .toString()
  .split('\n')
  .forEach(isPrime)

function isPrime(input){
  if (input === '') return;

  if (input < 1001 ) {

    var output = '';

    for (var i = 2; i < input; i++) {

      if ( input % i === 0 ) {
        input--
      } else {
        output = input;
      }
    }
  }
  palindrome(output)
}

function palindrome(prime){
  var str = prime.toString();
  if (str.split('').reverse().join('') === str){
    console.log('str', str)
  } else {
     str--
    isPrime(str)
  }
}

因为CodeEval只通过console.logs接受答案,所以我必须在console.log中输出输出,它确实在我的终端中显示正确的解决方案。

我是否遗漏了某些内容,或者这是CodeEval中的错误?

1 个答案:

答案 0 :(得分:0)

与大多数CodeEval挑战不同,Prime Palindrome不接受任何输入 - 你应该取出你的fs.readFileSync等,然后让你的解决方案找到并且“打印到stdout小于1000的最大主要回文。”