Language Test

Language Test

Welcome to Language Test!

コンテストについて

このコンテストは、言語のアップデートテスト用コンテストです

コンテストの流れ

コンテストの流れは、以下のようになります。
  1. 問題ボタンから好きな問題を1問開き、解き方を考えます。
  2. 解き方が思いついたら、ソースコードを書きます。思いつかない場合は、他の問題を見ても問題ありません。
  3. 正しいソースコードが書けたと思ったら、解答ボタンを選択し、問題及び言語を選択し、ソースコードを貼り付け、提出します。
  4. 解答ボタンより、自分の解答を確認すると、ソースコードに対するジャッジ結果が表示されます。ACと表示されれば正解、それ以外は不正解となります。なお、WJと表示されている場合は、ジャッジ待ちの状態ですので、定期的に更新ボタンを押しながら、暫くお待ちください。
  5. 正解だった場合は、次の問題へ挑戦しましょう。不正解だった場合は、また同じ問題に挑戦しても、別の問題を解いてみても構いません。
  6. コンテストが終了すると、結果に応じて、順位表にて自分の順位が確認閲覧出来ます。なお、コンテスト中でも、途中経過を確認することは可能です。
  7. メニューについて

    なお、上メニューバーの各ボタンの機能は、以下の通りです。
    • トップ: 現在閲覧中のページです。
    • 問題: コンテストの問題の閲覧ができます。
    • 提出: コンテストの問題に対する、解答ソースコードを提出することが出来ます。
    • 質問: コンテスト全体、および各問題に対して、コンテスト中に質問し、その回答を閲覧することが出来ます。
    • 解答: 今までに自分が提出した解答を閲覧することができます。また、コンテスト終了後には他の参加者の解答状況を閲覧することが出来ます。
    • 順位表: 現在のコンテストの順位表が閲覧できます。

    実行環境

    更新履歴

    • 2017/11/17
      • COBOL言語を追加しました
    • 2017/04/25
      • Kotlinの実行時オプションを変更してスタックサイズを追加しました
    • 2017/02/15
      • いくつかの言語においてコンパイラのバージョンが上がりました
      • C++においてC++03用のコンパイラオプションを追加しました
    • 2016/09/10
      • スタックサイズを問題によらず固定にしたことに伴いJavaの実行時オプションを変更してスタックサイズを追記しました
    • 2016/04/27
      • Fortran 2008としてコンパイルされるように拡張子を.fから.f08に変更しました
    • 2016/03/31
      • C/C++言語のGCCのコンパイルオプションを変更しました
        • C言語用コンパイルオプション: -std=c11 を -std=gnu11 に変更
        • C++言語用コンパイルオプション: -std=c++14 を -std=gnu++1y に変更
      • Swiftのバージョンを上げました
        • 2.2-SNAPSHOT-2016-02-08-a を swift-2.2-RELEASE にアップデート
      • Swiftのコアライブラリを追加しました
        • Swift用のコアライブラリは開発版であり動作の保証はされません
    • 2016/03/18
      • Objective-C用にGNUStepをインストールしました
      • これに伴いコンパイルオプションを変更しています
    • 2016/03/16
      • Unlambdaの実行コマンドの変更を行いました

    現時点で判明している問題

    現在以下の問題がわかっています。 これらの問題に関してわかる方は以下のシートにご記入くださいますようお願い致します。
    https://docs.google.com/spreadsheets/d/1X5Yk5PiGx-Otm1JaHpQQzQhEIPj8trofLTkphKX43s0/edit?usp=sharing
    • Objective-Cは必要なパッケージなどがわからなかったため動かない可能性があります(GNUStepなどは入れていません)
      2016/03/18 更新:GNUStepを入れました、これに伴いObjective-C用GCC/Clang両方のコンパイルオプションを変更しました
    • PHP/PHP7/Perl/Perl6/Rubyはコンパイル時のシンタックスチェックエラーが発生してもそのまま実行を行います(これは仕様です)
    • MoonScriptはコンパイルは行いますが、実行時にはコンパイル結果を使わず直接MoonScriptを実行します。これはMoonScriptのコンパイル結果であるLuaを実行するときの適切なコマンドラインオプションがわからないためです。

    コンパイラオプション/実行時オプション

    言語コンパイルオプション実行コマンド
    C++14 (GCC 5.4.1)g++ -std=gnu++1y -O2 -I/opt/boost/gcc/include -L/opt/boost/gcc/lib -o a.out Main.cppa.out
    Bash (GNU bash v4.3.11)cat Main.sh | tr -d '\r' >a.outbash a.out
    C (GCC 5.4.1)gcc -std=gnu11 -O2 -o a.out Main.c -lma.out
    C (Clang 3.8.0)clang -O2 Main.c -o a.out -lma.out
    C++ (GCC 5.4.1)g++ -std=gnu++03 -O2 -I/opt/boost/gcc/include -L/opt/boost/gcc/lib -o a.out Main.cppa.out
    C++ (Clang 3.8.0)clang++ -I/usr/local/include/c++/v1 -L/usr/local/lib -I/opt/boost/clang/include -L/opt/boost/clang/lib -std=c++03 -stdlib=libc++ -O2 -o a.out Main.cppa.out
    C++14 (Clang 3.8.0)clang++ -I/usr/local/include/c++/v1 -L/usr/local/lib -I/opt/boost/clang/include -L/opt/boost/clang/lib -std=c++14 -stdlib=libc++ -O2 -o a.out Main.cppa.out
    C# (Mono 4.6.2.0)mcs -warn:0 -o+ -r:System.Numerics Main.csmono Main.exe
    Clojure (1.8.0)echojava -cp /opt/clojure/clojure-1.8.0.jar clojure.main Main.clj
    Common Lisp (SBCL 1.1.14)echosbcl --script Main.lisp
    D (DMD64 v2.070.1)dmd -m64 -w -O -release -inline Main.dMain
    D (LDC 0.17.0)ldc2 -O Main.d -of a.outa.out
    D (GDC 4.9.4)gdc-4.9 -O2 -frelease -o a.out Main.da.out
    Fortran (gfortran v4.8.4)gfortran -O2 -o a.out Main.f08a.out
    Go (1.6)go build -o a.out Main.goa.out
    Haskell (GHC 7.10.3)ghc -o a.out -O2 Main.hsa.out
    Java7 (OpenJDK 1.7.0)/usr/lib/jvm/java-7-openjdk-amd64/bin/javac Main.java/usr/lib/jvm/java-7-openjdk-amd64/bin/java -Xss256M Main
    Java8 (OpenJDK 1.8.0)/usr/lib/jvm/java-8-openjdk-amd64/bin/javac Main.java/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xss256M Main
    JavaScript (node.js v5.12.0)echonode Main.js
    OCaml (4.02.3)bash -c 'eval $(opam config env) ocamlfind ocamlopt -o a.out Main.ml -linkpkg -thread -package str,num,threads,batteries'a.out
    Pascal (FPC 2.6.2)fpc -O2 -Sd -Sh -oa.out Main.pasa.out
    Perl (v5.18.2)perl -W -c Main.plperl -X Main.pl
    PHP (5.6.30)php5.6 -l Main.phpphp5.6 Main.php
    Python2 (2.7.6)echopython -B Main.py
    Python3 (3.4.3)echopython3 -B Main.py
    Ruby (2.3.3)ruby2.3 --disable-gems -w -c Main.rbruby2.3 --disable-gems Main.rb
    Scala (2.11.7)scalac -optimise Main.scalascala Main
    Scheme (Gauche 0.9.3.3)echogosh Main.scm
    Text (cat)cat Main.txt | tr -d '\r' >a.outcat a.out
    Visual Basic (Mono 4.0.1)vbnc /noconfig /r:Accessibility.dll /r:System.dll /r:System.Data.dll /r:System.Xml.dll /r:System.Core.dll /r:System.Numerics.dll /r:System.Configuration.dll /r:System.Xml.dll /imports:System /imports:Microsoft.VisualBasic /OptionExplicit+ /removeintchecks+ /optimize+ /debug- Main.vbmono Main.exe
    Objective-C (GCC 5.3.0)gcc -O2 Main.m -o a.out -lobjc -lgnustep-base -I/usr/include/GNUstep -fconstant-string-class=NSConstantStringa.out
    Objective-C (Clang 3.8.0)clang -O2 Main.m -o a.out -lobjc -lgnustep-base -I/usr/lib/gcc/x86_64-linux-gnu/4.8/include/ -I/usr/include/GNUstep -fconstant-string-class=NSConstantStringa.out
    Swift (swift-2.2-RELEASE)swiftc -o a.out Main.swifta.out
    Rust (1.15.1)rustc -O -o a.out Main.rsa.out
    Sed (GNU sed 4.2.2)cat Main.sed | tr -d '\r' >a.outsed -f a.out
    Awk (mawk 1.3.3)cat Main.awk | tr -d '\r' >a.outawk -f a.out
    Brainfuck (bf 20041219)cat Main.bf | tr -d '\r' >a.outbf a.out
    Standard ML (MLton 20100608)mlton -output a.out Main.mla.out
    PyPy2 (5.6.0)echopypy Main.py
    PyPy3 (2.4.0)echopypy3 Main.py
    Crystal (0.20.5)crystal build Main.crMain
    F# (Mono 4.0)fsharpc Main.fsmono Main.exe
    Unlambda (0.1.3)cat Main.unl | tr -d '\r' >a.outsh -c 'cat a.out - | unlambda'
    Lua (5.3.2)luac -o luac.out Main.lualua luac.out
    LuaJIT (2.0.4)luajit -O3 -b Main.lua luac.outluajit -O3 luac.out
    MoonScript (0.5.0)moonc -o a.out Main.moonmoon Main.moon
    Ceylon (1.2.1)ceylon compile --source=. Main.ceylonceylon run --run main default
    Julia (0.5.0)echojulia Main.jl
    Octave (4.0.2)echooctave --jit-compiler Main.m
    Nim (0.13.0)nim c -d:release -o:a.out Main.nima.out
    TypeScript (2.1.6)tsc Main.tsnode Main.js
    Perl6 (rakudo-star 2016.01)perl6 -W -c Main.p6perl6 Main.p6
    Kotlin (1.0.0)kotlinc Main.kt -include-runtime -d Main.jarkotlin -classpath Main.jar -J-Xss256M MainKt
    PHP7 (7.0.15)php7.0 -l Main.phpphp7.0 Main.php
    COBOL - Fixed (OpenCOBOL 1.1.0)cobc -x -O2 -o a.out Main.coba.out
    COBOL - Free (OpenCOBOL 1.1.0)cobc -x -free -O2 -o a.out Main.coba.out

    ライブラリ

    対象言語ライブラリ名補足
    C++(g++/clang++)Boostバージョン: 1.60.0
    Python2numpyapt-get install python-numpy で入るもの
    Python2scipyapt-get install python-scipy で入るもの
    Python2? Python3?scikitsapt-get install python-scikits-learn で入るもの
    Python3numpyapt-get install python3-numpy で入るもの
    Python3scipyapt-get install python3-scipy で入るもの
    SwiftFoundationバージョン: swift-2.2-SNAPSHOT-2016-01-11-a
    SwiftXCTestバージョン: swift-2.2-SNAPSHOT-2016-01-11-a