01/10/2018, 10:31

Tìm số dư của lũy thừa số rất lớn

Các bạn ace trên diễn đàn có thể chỉ giúp mình hướng làm bài này với được không ạ. Mình cám ơn.
Hãy tính giá trị biểu thức (1^n + 2^n + 3^n + 4^n) mod 5
Input:
Dòng đầu là số lượng bộ test T (T ≤ 100).
Mỗi test gồm một xâu biểu diễn số nguyên n, n có không quá 100 000 kí tự.
ví dụ : n=4 thì in ra 4

rogp10 viết 12:38 ngày 01/10/2018

Mũ mod dễ mà, bài này có cả trick áp dụng định lí Fermat nhỏ O(1)

HK boy viết 12:34 ngày 01/10/2018

Nguồn đích thị spoj
Bài này không hề dùng mũ to nhé. Dùng toán thôi.
Gợi ý: xét n mod 4.

Bản chất thì cách của mình và cách của @rogp10 như nhau.

rogp10 viết 12:39 ngày 01/10/2018

Số modulo cho trước dễ cực kì

Nguyen Ca viết 12:41 ngày 01/10/2018

Có bài này hay nè
Viết chương trình tính 2^6972593 - 1,
Có 1 Đai Ca nôi tiếng thê giới đã chiến thắng bài này trong năm 2000.

HK boy viết 12:35 ngày 01/10/2018

Tính đầy đủ hay chỉ tính mod thôi ạ?

Nguyen Ca viết 12:34 ngày 01/10/2018

đầy đủ. ấy, kết quả phép tính đó :v

*grab popcorn* viết 12:39 ngày 01/10/2018

:"> Cái bài này của hacker Fabrice Bellard đây mà

Viruts viết 12:46 ngày 01/10/2018

Cám ơn bạn để mk xem thử

Bài liên quan
0