Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Cho mình hỏi các kiến thức python để có thể làm được bài này và đáp án với. Mình cảm ơn ạ

15:23 08-09-2023 405 lượt xem 1 bình luận

1.Tổng và lũy thừa

Cho hai số tự nhiên a và n (1 ≤ a, n ≤ 109).

Yêu cầu: Gọi S là tổng của a và n, T là lũy thừa an. Hãy tính S và T.

Dữ liệu vào: Từ tệp văn bản SPOW.INP gồm một dòng chứa 2 số a và n (các số cách nhau ít nhất một dấu cách).

Dữ liệu ra: Ghi ra tệp văn bản SPOW.OUT gồm hai dòng: Dòng thứ nhất là S và dòng thứ hai là T (do S và T có thể lớn nên kết quả của bài toán chia dư cho 109+7).

Ví dụ:

SPOW.INP                     SPOW.OUT

2 3                                      5

                                           8

Ràng buộc:

· Có 80% test tương ứng 80% số điểm với a và n ≤ 106;

· Có 20% test còn lại tương ứng 20% số điểm với 106 < a và n ≤ 109

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Hieu Dang đã bình luận 21:17 09-09-2023

Để giải bài này bạn cần:

- Cách đọc, ghi file trong Python

- Luỹ thừa an bạn có thể chọn 1 trong 2 cách:

+ Cú pháp trong Python: a**n

+ Hoặc xài hàm có sẵn của python: pow(a, n)

Tham số thứ ba của hàm pow được sử dụng để chia dư kết quả cho một số nguyên bất kì. Trong trường hợp này, chúng ta chia dư cho 109+7 (mình nghĩ là viết tắt của 1000000007)

pow(base, exp, mod=None)
    Equivalent to base**exp with 2 arguments or base**exp % mod with 3 arguments

    Some types, such as ints, are able to use a more efficient algorithm when
    invoked using the three argument form.

Câu hỏi mới nhất