Aizu Online Judge(AOJ)が提供している「プログラミング入門」(ITP1)の1_B問題をC++とPython で解いてみました。
ITP1 のトピック1では、「プログラミングの入門として、基本構造、変数、入出力、計算式を学習します。」とあります。わたしは、C と C++ には、ある程度習熟しています。この学習コースを通じて、Python に慣れていきたいと考えています。
問題(1_B: X Cubic)
問題はリンク先をご覧ください。
整数を一つ入力して計算結果を出力する問題です。
解答案
C++ プログラム例(ITP1 1_B)
#include <iostream>
using namespace std;
int main()
{
int x;
cin >> x;
cout << x * x * x << endl;
return 0;
}
整数を一つ読み込み、3乗を出力します。
Python プログラム例(ITP1 1_B)
x = int(input())
print(x * x * x)
input() で、1行読み込みます。改行は含みません。input() は文字列を返すため、int() を使って、整数に変換しています。print で3乗を計算して出力しています。
Python は、べき乗の演算子 ** があるため、次のプログラムも同じ出力をします。
x = int(input())
print(x ** 3)
最後に
C や C++ のmain関数やinclude文は、最初にプログラムに触れる人には、ある種の呪文に思えるかもしれません。Python は、上から書いた順に動作するため、分かりやすいです。
C++ のプログラムと Python の最初の例は、同じ動作をしています。C++ の入力と出力の行(背景色を変えました)は、表現が異なるだけで、ほぼ同じ文字数です。Python は他の呪文がなくても動作していると言えます。
簡単なプログラムでも、気づきが得られました。
引き続き、ITP1 の問題を紹介していきます。