0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita Engineer Festa 2024(キータ・エンジニア・フェスタ 2024) - Qiita
において、約1ヶ月で38記事という大量の記事の投稿を要求されることがわかった。
そこで、あまりコストをかけずに記事数を稼ぐ方法を考えた結果、「Welcome to AtCoder を様々な言語で解く」ことを思いついた。
単に解くだけでなく、使用する言語仕様の解説を入れれば、記事として一応成立するだろう。

Welcome to AtCoder

PracticeA - Welcome to AtCoder

Welcome to AtCoder では、以下の形式で整数 $a$, $b$, $c$ および文字列 $s$ が入力として与えられる。

a
b c
s

この入力をもとに、与えられた整数の和 $sum = a + b + c$ および文字列 $s$ を、以下の形式で出力することが求められる。

sum s

ECLiPSe の情報の入手方法

「ECLiPSe」だけでググっても、統合開発環境 Eclipse やその他関係ないものばかり出てきて、ECLiPSe の情報にたどり着くのは難しそうであった。
「ECLiPSe 言語」でもダメそうだった。
そこで、AtCoder でわかるバージョンを入れた「ECLiPSe 7.1_13」でググると、以下のサイトが出てきた。

Index of /Distribution/Builds/7.1_13

このサイトのURLのパスを / に置き換えてアクセスすることで、情報にたどり着くことができた。

ECLiPSe Home

さらに、適当なサンプルコードを AtCoder のコードテストにコピペして実行を試みると、

calling an undefined procedure main in module eclipse
abort

と出てきたので、main の定義を要求されるらしいことがわかった。
そこで、main site:https://eclipseclp.org/ でググると、以下のページなどが出てきた。

Loop/Iterator Constructs

ここに載っている情報から、プログラムの書き方を推測できた。

今回用いた ECLiPSe の機能

Input and Output
Input/Output
Programming Concepts

プログラムは

main :-
        処理内容.

の形で表現できるようである。
複数の処理を行う場合は、, で繋ぐといいようである。

read_token(値を受け取る変数, 種類を受け取る変数)

で、標準入力から数値 (など) を1個読み込めるようである。

get(結果を受け取る変数)

で、標準入力から1文字読み込み、数値として受け取れるようである。
(今回は、数値の後の改行文字を読み捨てるために使用した)

read_string(探す文字, 長さを受け取る変数, 文字列を受け取る変数)

で、標準入力から指定の文字の直前までを読み込み、文字列として受け取れるようである。

sum(数値のリスト, 結果を受け取る変数)

で、数値の和を求めることができるようである。

printf(書式文字列, データのリスト)

で、文字列で指定した書式にデータを埋め込み、標準出力に出力できるようである。

文字列は "" で囲むことで表現できるようである。
リストは、[] で囲み、各要素を , で区切ることで表現できるようである。

提出コード

main :-
        read_token(A, T1),
        read_token(B, T2),
        read_token(C, T3),
        get(New_line),
        read_string("\n", L, S),
        sum([A, B, C], Sum),
        printf("%d %s\n", [Sum, S]).

提出 #55484263 - AtCoder Beginners Selection

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?