如何用Javascript解决编码难题?

时间:2012-02-08 04:10:19

标签: javascript puzzle gild

有一个名为Gild.com的网站,它为用户提供了不同的编码难题/挑战。它们可以用各种语言完成,包括Javascript。我有兴趣用Javascript解决这些难题,但我不确定以下内容:

  • 我应该如何访问应该作为参数传递的输入文件?
  • 我该如何输出结果?

我对Javascript的理解是它是从HTML页面中运行的,并且该输出实际上只是以在HTML中放置值,修改DOM等形式。因此我不清楚Javascript是如何实现的可以用来解决这些类型的问题。之前使用Gild或对我的问题有一些见解的人可以建议如何继续吗?

问题的一个例子是:给定的输入文件包含一个正整数,找到小于该整数的所有素数的总和并输出它。


编辑:下面的一些解决方案涉及使用外部资源,但在Gild上,我应该将我的解决方案放在他们的编辑器中,然后以这种方式提交,如下图所示:< / p>

enter image description here

换句话说,我认为我的解决方案无法访问Node.js或其他外部资源。


编辑:以下是我发现的一些有趣的文章,我认为这是我的问题的答案:

2 个答案:

答案 0 :(得分:3)

我没有花太多时间在Gild上,但我在Project Euler上做了很多类似的问题。我认为最好的方法可能是Node.js

如果您不熟悉,Node基本上是在Google的V8引擎中运行的服务器端JavaScript。在您自己的Mac / Windows机器上安装它大约需要2分钟。它也非常快(考虑它的JavaScript)。

你会像这样使用它:

var fs = require('fs'); // the filesystem module
var contents = fs.readFileSync('theFile.txt', 'utf-8');
// Do stuff with the file contents...

前两行之后的所有内容都可以使用您在浏览器中编写的相同JS来完成,直到调用console.log()来吐出答案。

因此,如果您将脚本编写在桌面上名为getprimes.js的文件中,则打开终端并输入node ~/Desktop/getprimes.js(假设您使用的是Mac)

答案 1 :(得分:0)

如果你是:

  1. 在Mac上,
  2. 计划做很多这些谜题,
  3. 愿意支付10美元,然后
  4. 我强烈推荐CodeRunner。它封装了各种语言的运行时 - 从C到JavaScript - 并允许您快速构建和运行任何类型的一次性代码。只需将代码⌘R组合在一起,结果就会在同一窗口中打印出来。

    我没有在CodeRunner中使用任何基于文件的JavaScript,但我想kennis的建议会适用。输出结果:

    console.log(...)
    

    简单就是馅饼!