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 ?
Well, i am not anyone great in answering this question, but atleast on my behalf, i shall tell you some good introductory books:
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!
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.