Số tam phương

View as PDF

Submit solution


Points: 100.00 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Author:
Suggester:
Problem type

Một số tự nhiên được gọi là số tam phương nếu thỏa mãn cả hai điều kiện sau:

  • Là bội của 3 (chia hết cho 3);
  • Cộng 1 thì trở thành số chính phương.

Khi sắp xếp các số tam phương theo thứ tự tăng dần, ta thu được một dãy số vô hạn như sau: 0, 3, 15, 24, 48,…

Yêu cầu: Cho hai số nguyên dương 𝑘 và 𝑀, gọi 𝑁 là số số tam phương thứ 𝑘 trên dãy (các số trên dãy được đánh thứ tự bắt đầu từ 1), tính phần dư khi chia 𝑁 cho 𝑀.

Dữ liệu vào: Từ thiết bị chuẩn có định dạng như sau:

  • Dòng đầu ghi số nguyên dương 𝑇 (𝑇 ≤ 100) là số bộ dữ liệu;
  • 𝑇 dòng sau, mỗi dòng tương ứng với một bộ dữ liệu chứa hai số nguyên dương 𝑘, 𝑀.

Kết quả: ghi ra thiết bị chuẩn gồm 𝑇 dòng tương ứng với 𝑇 bộ dữ liệu trong dữ liệu vào, mỗi dòng ghi một số là phần dư khi chia 𝑁 cho 𝑀.

Ví dụ:

Dữ liệu vào

2
2 10
5 10

Kết quả

3
8

Ràng buộc:

  • Có 20% số test tương ứng với 20 điểm có 𝑘 ≤ ~10^3~; 𝑀 ≤ ~10^9~;
  • Có 20% số test tương ứng với 20 điểm có 𝑘 ≤ ~10^6~; 𝑀 ≤ ~10^9~;
  • Có 20% số test tương ứng với 20 điểm có 𝑘 ≤ ~10^9~; 𝑀 ≤ ~10^9~;
  • Có 20% số test tương ứng với 20 điểm có 𝑘 ≤ ~10^{18}~; 𝑀 ≤ ~10^9~;
  • Có 20% số test tương ứng với 20 điểm có 𝑘 ≤ ~10^{18}~; 𝑀 ≤ ~10^{18}~.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.