Tin học Số huyền bí

Hacker!!

Học sinh
Thành viên
9 Tháng tư 2017
12
1
21
23
Trên mặt đất , dưới trời xanh
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

MYSTERY - Số huyền bí


Đất nước Văn Lang thời cổ xưa đã có những hiểu biết tân tiến về số học. Tương truyền rằng, vua Hùng Vương thứ 17 cùng các trưởng lão trong triều đình đã phát minh ra các số huyền bí. Các số này giúp chỉ dẫn đường vào kho tàng của đất nước.

Theo các chứng tích khảo cổ, các nhà khoa học kết luận rằng số huyền bí cơ sở a bằng tích của (3d-1) với mọi ước số d > 0 của a.

Bờm thích số học đồng thời cũng rất thích tìm hiểu lịch sử đất nước. Bạn hãy giúp Bờm tính số huyền bí cơ sở a (1 ≤ a ≤ 109). Do kết quả có thể rất lớn, bạn chỉ cần in ra phần dư của số huyền bí cơ sở a khi chia cho 20122007.

Dữ liệu
Gồm một số nguyên a duy nhất.
 

cuongtk2002

Học sinh mới
Thành viên
18 Tháng tư 2014
5
1
16
22
>>Đề bạn chép thiếu dấu mũ ! ;)
(3d-1) -> 3^d - 1
1 ≤ a ≤ 109 -> 1<= a <= 10^9
>> Cách làm ! ;)
{N lớn nên biến ''tính toán'' khai báo int64 (hoặc longint) cho tránh lỗi}
B1: Duyệt các số d từ 1 cho đến nguyên a.
B2: Nếu d là ước của N thì tính (3 mũ d) rồi (trừ 1).
B3: Lấy kết quả tính được ở bước 2 mod cho 20122007 rồi in kết quả.
>> Nếu muốn giảm thời gian chạy ct thì :
- B1 ta có thể cho d chạy đến phần nguyên căn a (vì nếu d là ước a thì a/d cũng là ước a) nhớ tính 3^(a/d)-1 nữa.
- B2 khi tính xong (3^d - 1) ta đều mod cho 20122007.( bỏ B3 )
 
Last edited:
Top Bottom