AIZU ONLINE JUDGE

AOJ ITP1 3_A(Print Many Hello World)を解く

AOJ_ITP1_3_A

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 の問題を紹介していきます。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA