javascript编写acm算法题

我们都所知,acm算法题一般用c++或者java敲比较多。一个是效率搞,运行速度快,另外一个是处理输入输出比较简单。随着javascript语言的不断完善,我们如今也可以用js这门语言来实现算法题。作为喜欢算法的前端,难道不心动咩~但是支持js编写的OJ网站并不多,有下来两个:

第一个是日本的,需要翻墙就不说了。第二个是毛子的codeforce,里面很多算法牛人。这偏文章就讲讲怎么在这个oj上用js编写和运行代码,并拿到 Accpet


一、安装v8引擎环境

因为codeforce上运行JS是利用v8引擎,我们必须下载v8的二进制包。对于window系统,官网给我们提供安装包。对于linux和Mac需要手动编译v8,这个自行度娘~

v8环境二进制安装包

下载完安装包,我们还要配置环境变量;比如我们下载解压到D:\v8文件夹,把这个路径加到path环境变量中就ok了。

这里写图片描述

在cmd控制台中输入d8 -v,如果安装配置成功会显示对应的版本号。

这里写图片描述

二、处理题目的输入输出

我们知道用c++搞算法题使用标准输入输出cin,cout。对于JS我们用的输入流函数readline() 和输出 print() ,比如我们输入a,b两个数,输出a+b的和;

main.js:

var line = readline().split(' ');
var a = line[0];
var b = line[1];

print(parseInt(a)+parseInt(b);

在cmd中进入该工程目录,输入 d8 main.js 来编译运行代码,如下图:

这里写图片描述

三、OJ实战

进入codeforce网站,随便选一道水题,用JS搞搞试试,比如下面这道题目:

http://codeforces.com/contest/732/problem/A

代码:

(function main(){
    var price,
        deno,
        line;

    line = readline().split(' ');
    price = line[0];
    deno = line[1];

    for(var i =1;;i++){
        var all = i*price;

        if(all%10==0){
            print(i);
            break;
        }
        else if((all-deno)%10==0){
            print(i);
            break;
        }
    }

})();

点击submit code按钮提交代码:

这里写图片描述

选择语言javascript,点击提交查看运行效果:

这里写图片描述

这里写图片描述

note:因为codeforce是源码开放的,所以你可查看别人的JS代码,非常方便。所以前端的小伙伴们还不用算法提升逼格!

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值