Aizu Online Judge(AOJ)が提供している「プログラミング入門」(ITP1)の3_A問題をC++とPython で解いてみました。
ITP1 のトピック3では、繰り返し処理を学びます。「条件に従って処理を繰り返し、反復処理を行う構造文を学習します。」とあります。この学習コースを通じて、Python に慣れていきたいと考えています。
問題(3_A: Print Many Hello World)
問題はリンク先をご覧ください。
AOJ ITP1 3_A問題:Print Many Hello World
繰り返しには、while 文 または for 文を使います。
解答案
C++ プログラム例(ITP1 3_A)
最初に for 文を使って書いてみます。
#include <iostream>
using namespace std;
int main()
{
for (int i = 0; i < 1000; ++i) {
cout << "Hello World" << endl;
}
return 0;
}
for 文は、while 文に機械的に書き換えることができます。次は、同じことを while 文を使って書きます。
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 1000) {
cout << "Hello World" << endl;
++i;
}
return 0;
}
ループ変数がはっきりしている場合は for 文を使い、繰り返し条件がはっきりしている場合は while 文を使うようにしています。
Python プログラム例(ITP1 3_A)
Python でも for 文と while 文があります。書き方は、C++ に近いです。while 文を使ったプログラムも紹介しますが、Python では、この場合は、for 文を使って書くと思います。
for i in range(1000):
print("Hello World")
i = 0
while i < 1000:
print("Hello World")
i += 1
上記プログラムは、すべて AOJ で「AC(Accepted=正解)」と判定されます。
最後に
繰り返しの処理が書けるようになれば、条件分岐と合わせて、非常に多くのプログラムを書くことができるようになります。Python では、条件文と同じく、繰り返しの本文の範囲は見た目(インデント)で表現しています。
引き続き、ITP1 の問題を紹介していきます。