How to improve number theory related skills? I know it is a very general question, but i'm not sure how to get started and improve number theory related skills related to ACM ICPC and other programming competitions.Any good way or book recommendations ?
 A: Well, i am not anyone great in answering this question, but atleast on my behalf, i shall tell you some good introductory books:


*

*Introduction to theory of numbers by David Burton

*Introduction to theory of numbers by G.H.Hardy, E.M.Wright

*Introduction to Analytic number theory by Tom Apostol

*104 problems in Number theory by T.Andreescu
All the above books are getting a very good foundation on the subject. As i said, i am no one to answer, this as i myself struggle in solving problems. But Solving problems are the only way one learns a subject. There are many peers, who would like to answer this question, and you can learn a lot from them!
Happy Reading!
A: For the ACM you should probably focus on their problem sets and could also look into problems from discrete mathematics. I really don't think they ask questions that rely on a graduate level understanding of number theory so reading books could be overkill for your purposes and would only confuse you if you rush it. It should take several weeks to read several chapters in a good number theory book - assuming you're not too busy (but you're in cs, right?). 
Short answer: Go and ask a math professor for some problem sets.
A: I used to be an ACMer.
I think this pdf is a good choice, which has been recommended by ftiasch in zhihu.com. He said this book is enough for ACMers who want to solve number theory problems in ACM/ICPC contests.
(ftiasch is a famous ACMer in China and he placed second in ICPC World Final 2013.)
