Điểm:
1000 (p)
Thời gian:
0.25s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho hai số nguyên dương \(A\) và \(B\), tìm số nguyên dương \(C\) sao cho \(C^B=A\).
Input
- Gồm 1 dòng duy nhất chứa 2 số \(A, B\).
Output
- In ra số \(C\) cần tìm.
Constraints
- \(C \leq 10^5\), \(B \leq 3 \times 10^4\).
- \(A\) có không quá \(15 \times 10^4\) chữ số.
- Dữ liệu đầu vào đảm bảo luôn tìm được \(C\) nguyên dương.
Example
Example test 1
Sample input 1
25921 2
Sample output 1
161
Example test 2
Sample input 2
353393243 3
Sample output 2
707
Example test 3
Sample input 3
254116810000 4
Sample output 3
710
Bình luận
Python AC:
ai rảnh muốn ac thì xem test rồi if else=))))
Muốn AC bài này, ta cần tìm \(C\) biết \(C^B\) = \(A\). Ta có thể sử dụng lũy thừa ngược trong python ta có công thức sau
c = a ** (1 / b)
. Đó là lý thuyết trong test thì ta sẽ bị overflowerror do số quá lớn. Nhưng ta có thể dùng logarithmmath.exp(math.log(a) / b)
nhưng vẫn bị TLE và chỉ mới AC 342 trên 500 test. Và ta ép buộc phải dùng tìm kiểm nhị phân nếu muốn AC, tuy nhiên sài tìm kiểm nhị phân còn TLE nhiều hơn nữa nhìn vào 2 code là ta cũng biết. Vậy nếu bạn muốn AC nhiều test nhất có thể thì có thể sử dụngmath.exp(math.log(a) / b)
vừa ngắn gọn dễ hiểu nhưng vẫn chưa ac😭Python không AC được bài này, ko quá 360 test đâu=)
ựa
test cuối bị IR
vị cứu tinh đây
Anh NguyenHuuNhatQuang bài này nếu làm theo hưỡng dẫn của anh thì py cx có thể ac đc đó anh 🙂
from math import pow
a,b=map(int,input().split())
kq=pow(a, 1/b)
print(round(kq))
sao code này bị Invalid Return v?
ez mà.
Áp dụng công thức là ra thui.
biểu tình cho time lên 1s ko t kêu 500 ae lên xóa bài này
11 bình luận nữa