我的欧拉工程之路简介

来源:互联网 发布:知乎手机版怎么引用 编辑:程序博客网 时间:2024/06/07 07:12

前言

我的进度

欧拉工程是一个在线解题网站。目前有563题,由简入难。每个题目都可以用计算机在1分钟内出结果,不过这句话是写在03年左右的,现在的电脑不需要那么久。如果你在解题过程中发现你的程序跑了半个小时,那么你就要考虑你的算法的效率问题了。

欧拉工程是一个很考验算法的网站,如果你想锻炼你的算法能力,那么可以点击上一段中的蓝字超链接跳转。强烈建议你在欧拉工程的网站上注册账号并登陆,在那里验证自己答案的正确与否,通过解题获取奖牌,如果你的答案正确,你可以跳转到讨论面板区,与其他解出题目的人交流。由于欧拉工程是面向世界的网站,所以讨论内容基本是英文的。

由于欧拉工程网站是全英文的,可能不方便某些英文不好的同学阅读,在这里提供欧拉中文翻译站的网址。

不同于其它的在线OJ网站在提交结果时需要提交程序代码,网站运行后对比结果是否正确,内存占用是否超标等,欧拉工程只需提交最终结果,一般是一个数字。你可以使用你所掌握的任何编程语言而不是网站提供的有限几种,在本地计算出答案并提交。如果你的答案是正确的,那么网站会提示你,并告诉你可以跳转至讨论区,和其他已经解出此题的人讨论解题方法。不过由于网站只要求答案,所以不推荐你从他处直接拷贝答案提交。

按照网站about页面的说明,欧拉工程的前100题相较于以后的题目简单不少。而且,打开网站,在Archives页面,你可以看到按序号排列的众多题目,你也可以点击箭头,将他们按ID、解题人数、难度进行排序。看到第一题已经有60万人解决,你是不是也跃跃欲试呢。

我的解题规范

由于欧拉工程允许使用任意语言进行解题,所以很难做出什么标准规范,但由于我只会C、Java和Python,而我平常使用较多的就是Java,所以我基本会使用Java进行解题。后面我会发出我已经解出的题目的代码以及我的思路,欢迎大家在评论区讨论。另外,我之前在51cto上也发过我的欧拉工程之路的文章,所以可能会出现部分重复,后面会全部移植此处。

工程规范

为了方便解题,我创建了一个基于eclipse的解题工程模板,包含我的解题模板和其它我在解题过程中创建的工具类,欢迎使用。以下列出我的解题模板代码。

你可以从码云git上获取此工程的代码,git地址

如果你不懂的什么是git,那么你可以点击git教程,进行了解。如果你只想获取工程源码,则可点击下载地址获取工程压缩包。

public class Main {    /**     * @param args      */    public static void main(String[] args) {        long startTime = System.currentTimeMillis();        solve();        long endTime = System.currentTimeMillis();        long useTime = endTime - startTime;        System.out.println("\nfunction solve use " + useTime + " ms");    }    /**     * 答题函数,把解题代码写在这里     */    public static void solve() {    }}

如你所见,我添加了解题函数solve(),并在main函数中计算执行此函数所需的时间,方便让我测试算法的效率。后面贴出解题代码时只会贴出solve函数和关联的函数代码,不再贴出main函数代码。

0 0
原创粉丝点击