AtCoder が提供しているABC(AtCoder Beginner Contest)283 のA問題をC++とPythonで解いてみました。ABC283は、2022年12月24日21:00に実施されました。
AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。
A問題 Power(Difficulty : 8)
問題はリンク先をご覧ください。
与えられた数字の累乗を求める問題です。AtCoder Problems による Difficulty は、8 でした。
解答案
問題を解く方針を書きだします。
- A と B を読み込む。
- A を B 回掛けた値を出力する。
C++ プログラム例(ABC283A)
初期値を 1 として、これに a を b 回掛けています。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
int result = 1;
for (int i = 1; i <= b; ++i) {
result *= a;
}
cout << result << endl;
return 0;
}
AC(Accepted=正しいプログラム)と判定されました。
Python プログラム例(ABC283A)
Python では、累乗が演算子で計算できるため、この結果を出力しました。
"""AtCoder Beginner Contest 283 A"""
a, b = map(int, input().split())
print(a ** b)
こちらも「AC」と判定されました。
最後に
A問題は、速く解くことが求められます。この意味では、Python はタイプ数が少なく書けるため、有利となります。(ただし、Python は実行速度で不利な面があります。)
引き続き ABC の問題を紹介していきます。