POWER2 - Tính lũy thừa 2

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Cho hai số nguyên dương ~a~ và ~n~. Tính ~a^n~.

Input

  • Gồm một dòng duy nhất ghi hai số nguyên dương ~a~ và ~n~ cách nhau bởi dấu cách.

Giới hạn:

  • ~1 ≤ a ≤ 10^9; 1 ≤ n ≤ 1000~.

Output

  • Kết quả của phép tính ~a^n~.

Sample

Input #1
5 7
Output #1
78125

Problem source: Chuyên Sơn La Online Judge


Bình luận

Please read the guidelines before commenting.



  • -2
    congtyluuthaibao1978  đã bình luận lúc 25, Tháng 11, 2025, 9:40

    include <bits/stdc++.h>

    using namespace std;

    string mulBig(const string &a, const string &b) { int n = a.size(), m = b.size(); vector<int> res(n + m, 0);

    for (int i = n - 1; i >= 0; i--) {
        for (int j = m - 1; j >= 0; j--) {
            int ia = a[i] - '0';
            int ib = b[j] - '0';
            res[i + j + 1] += ia * ib;
        }
    }
    
    for (int i = (int)res.size() - 1; i > 0; i--) {
        int carry = res[i] / 10;
        res[i] %= 10;
        res[i - 1] += carry;
    }
    
    // Chuyển sang string, bỏ số 0 đầu nếu có
    string s;
    int idx = 0;
    while (idx < (int)res.size() - 1 && res[idx] == 0) idx++;
    for (; idx < (int)res.size(); idx++) {
        s.push_back(char('0' + res[idx]));
    }
    return s;
    

    }

    string powerBig(string a, int n) { // Bình thường: lũy thừa bằng nhân nhiều lần string res = "1"; while (n > 0) { if (n % 2 == 1) { res = mulBig(res, a); } a = mulBig(a, a); n /= 2; } return res; }

    int main() { ios::syncwithstdio(false); cin.tie(nullptr);

    long long a;
    int n;
    cin >> a >> n;
    
    string sa = to_string(a);
    string ans = powerBig(sa, n);
    cout << ans;
    return 0;
    

    }


  • -1
    Hs99999999  đã bình luận lúc 23, Tháng 10, 2025, 9:14

    hello cc


  • -3
    annoeye  đã bình luận lúc 26, Tháng 4, 2025, 3:12

  • -1
    Buon_Nen_Yeu_Em  đã bình luận lúc 3, Tháng 12, 2024, 17:12 chỉnh sửa

    code python ngắn =))


  • 0
    daotrungkiena1k46  đã bình luận lúc 19, Tháng 7, 2024, 2:49

    sao dùng luỹ thừa nhị phân rồi vẫn bị sai v nhỉ


  • -1
    lehongduc  đã bình luận lúc 16, Tháng 4, 2024, 6:57

    C++ kiểu: không bị quá thời gian nhưng sai=)


  • -1
    haidang3004  đã bình luận lúc 30, Tháng 1, 2024, 13:31 chỉnh sửa

    cách của bạn ngắn vậy,tui làm dài quá


  • -4
    nguien_24  đã bình luận lúc 25, Tháng 1, 2024, 13:33

    python thuat toan a**n cua no kha manh r ko can viet ham dau


  • 0
    tienle0103  đã bình luận lúc 27, Tháng 8, 2023, 2:36

    cho mình hỏi testcase 4 là gì vậy ạ toàn bị sai ở đó


    • -3
      nguien_24  đã bình luận lúc 2, Tháng 1, 2024, 11:25

      số quá to ý bạn


  • -5
    dainghiajustiin  đã bình luận lúc 4, Tháng 8, 2023, 16:58

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.