Official

A - Power Editorial by cn449


答えを \(1\) で初期化し、for 文などを用いて答えに \(A\) をかけるという操作を \(B\) 回行えばよいです。

言語によっては \(A^B\) を直接計算できる演算子や関数が存在するので、それを用いてもよいです。

実装例

C++

#include <iostream>
using namespace std;

int main() {
	int a, b;
	cin >> a >> b;
	int ans = 1;
	for (int i = 0; i < b; i++) ans *= a;
	cout << ans << '\n';
}

Python

a, b = map(int, input().split());
print(a ** b);
a, b = map(int, input().split());
print(pow(a, b));

注意

C++ における std::pow 関数は float や double などの浮動小数点数型に対応した関数であるため、本問題の制約下では正答を得ることができますが、例えば以下のような大きいケースでは誤差が生じる可能性があることに注意してください。

例( \(3^{38} = 1350851717672992089\) ですが、このコードは \(1350851717672992000\) を出力します。)

#include <iostream>
#include <cmath>
using namespace std;
typedef long long ll;

int main() {
	ll ans = pow(3, 38);
	cout << ans << '\n';
}

posted:
last update: