Editorial for C Bài 2.C2: Lũy thừa
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Hướng dẫn
Với một bài có nhiều testcase như bài này, ta cần phải sử dụng vòng lặp để có thể thực hiện mỗi testcase cu thể. Ở cuối mỗi vòng lặp cho testcase thì ta đều phải xuống dòng bằng câu lệnh printf("\n")
.
Ở mỗi testcase bài này, một cách đơn giản nhất là khởi tạo một biến res
biểu thị kết quả cuối cùng, sau đó sử dụng vòng lặp. Với mỗi vòng lặp ta sẽ nhân res
với số \(a\) cho đến khi đủ \(b\) vòng. Vì dữ liệu luôn đảm bảo kết quả thu được nhỏ hơn \(10^9\) nên ta cũng có thể khai bảo biến res
dưới dạng "int".
Độ phức tạp thuật toán: \(O(b*q)\) với \(q\) là số testcase.
Code mẫu
#include <stdio.h>
int main() {
int q;
scanf("%d", &q);
//Sử dụng vòng lặp để thực hiện mỗi truy vấn
for(int i = 1; i <= q; i++){
int a, b;
scanf("%d%d", &a, &b);
//Khởi tạo biến kết quả
int result = 1;
//Với mỗi một vòng, nhân biến kết quả cho ~a~. Kết thúc vòng lặp giá trị của biến
//kết quả bằng a^b
for(int i = 1; i <= b; i++){
result *= a;
}
//in ra kết quả và xuống dòng cho testcase tiếp theo
printf("%d\n", result);
}
return 0;
}
Đăng ký khóa học: https://www.facebook.com/clblaptrinhfullhouse
SĐT liên hệ: 0372229686
Youtube: CLB Lập Trình Full House
Fullhouse dev đồng hành trên từng dòng code
Comments