I am not good at Mathematics. But I want to be a good programmer. Is it so much needed to be good in Math to be a good programmer? What do you think? And if math is needed then which kind of math is needed?
# | User | Rating |
---|---|---|
1 | tourist | 3565 |
2 | Benq | 3540 |
3 | Petr | 3519 |
4 | maroonrk | 3503 |
5 | jiangly | 3391 |
6 | ecnerwala | 3363 |
7 | Radewoosh | 3349 |
8 | scott_wu | 3313 |
9 | ainta | 3298 |
10 | boboniu | 3289 |
# | User | Contrib. |
---|---|---|
1 | 1-gon | 199 |
2 | Errichto | 196 |
3 | rng_58 | 194 |
4 | SecondThread | 186 |
4 | awoo | 186 |
6 | Um_nik | 182 |
7 | vovuh | 178 |
8 | Ashishgup | 176 |
9 | antontrygubO_o | 173 |
9 | -is-this-fft- | 173 |
I am not good at Mathematics. But I want to be a good programmer. Is it so much needed to be good in Math to be a good programmer? What do you think? And if math is needed then which kind of math is needed?
Name |
---|
Oi mate! I reckon quick mafs is needed.
Yes, math is needed.
I think combinatorics and number theory get fairly heavily tested at Codeforces (at least from my experience). Topics like game theory, graph theory, recursion, modular inverses, etc appear frequently. Knowledge of various binomial identities is needed. But I think more important than the subjects is mathematical thinking, which is something that is acquired over years of solving various math problems.
I personally like Miklos Bona's "A Walk Through Combinatorics"--very good book. My favorite, actually. Quite relevant to Codeforces as well.
In short, yes, math is needed for Codeforces.
I think this article (http://www.sarahmei.com/blog/2014/07/15/programming-is-not-math/) is going to interest you :)
I think the last sentence should be 'In short, yes, math is needed for programming
on codeforces
'.Yeah I meant Codeforces oops.
Do not worry so much about math at the beginning. Start participating in contests and start solving problems and you will learn along the way. You just need to start. :)
Actually basic math in needed. You don't need to think about math a lot. Basic math will be enough. Start practicing problems and learn some math related to the problem. Thus you will cover math. I think this way.
I was in a similar situation a while ago. Somehow I got good at maths by solving more "maths intensive" CP problems (like combinatorics and number theory problems) and eventually got hooked by it to the point that I applied to a Maths&CS degree at Oxford and got in. I have to say that while I acquired some maths concepts and methods quite easily through CP, it really took a lot for me to also get really good at stuff like more hardcore algebraic manipulation, but I would say starting with CP might not be such a bad idea as long as you don't actively avoid the maths problems :)
Also keep in mind that programming != competitive programming
Here are the few resources which I searched through internet for mathematics for Competitive programming. Hope it helps.
Topcoder Article
Art of Problem Solving
There are several books for maths and competitive programming. - Competitive Programming 3: The New Lower Bound of Programming Contests by steven halim - Guide to competitive programming: learning and improving algorithms through contests - Concrete mathematics
You can get above books for free on books-library.
You can alse read CLRS by cormen. Its pretty cool book.
At last I would like to say, after studying the concepts, apply them. Just search maths tags on CF and go on.
Thank you for resources.