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: