"Several books in number theory are my favorite. 1: Introduction to Number Theory by AOPS, 2) Elementary Number Theory by Burton, 3) Number Theory: Concepts and Problems by Andreescu et.al, and 4) An Introduction to The Theory of Numbers by Hardy and Wright.
By listing the books in this particular order, I acknowledge that Titu Andreescu’s book is not for the absolute beginners. In my opinion, it is the right book to study after learning basics number theory from some easier books (e.g. the first one on the list). On the other hand, I put Andreescu’s book before Hardy’s classic text in term of difficulty. While Hardy’s text is harder and broader in theories and concepts, it does not target math Olympiad training. Andereescu’s book is perfect for Math Olympiad e.g. USA(J)MO, IMO.
The highlights of the book are two aspects: first, it contains the right amount of concepts, from the divisibility, GCD, LCM, to congruence, Chinese Remainder Theorem, Eurler’s Theorem, and to more advanced topics like p-Adic. The mathematically language in the text is very formal. Concepts are well explained and theorems are rigorously proved.
The second highlight is the powerful collection of problems. In each chapter, you will see many example problems from major math competitions around the world: USAMO, Romania TST, USA TST, China TST, IMO Short List, IMO, Putnam, Mathematical Reflections, etc. There are total approximately 300 practice problems at the end of each chapter. They are also from major national/international Olympiads and the author’s own creations. The last chapter (approximately 220 pages) contains detailed solutions for each of the practice problem.
In summary, Titu Andreescu’s Number Theory book is a must-have for national / international level math Olympiad. To my knowledge, no book serves this purpose better than this one."