けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCode ABC 320 A - Leyland Number (8Q, 灰色, 100 点)

for 文の練習

問題概要

正の整数  A, B が与えられる。

 A^{B} + B^{A} の値を求めよ。

コード

 A^{B} とは、 A B 回かけた値である。よって、次のように for 文で求められる。

long long res = 1;
for (int i = 0; i < B; ++i) {
    // A をかける操作を B 回行う
    res *= A;
}

この処理を関数 power(A, B) などで表して、power(A, B) + power(B, A) を出力するのが楽だと思う。

#include <bits/stdc++.h>
using namespace std;

long long power(long long A, long long B) {
    long long res = 1;
    for (int i = 0; i < B; ++i) {
        res *= A;
    }
    return res;
}

int main() {
    long long A, B;
    cin >> A >> B;
    cout << power(A, B) + power(B, A) << endl;
}