Well if that was a requirement then I should stop programming :). Mathematicians differ hugely in their ability to do mental arithmetic from Von Neumann who verged on the lightning calculator, to others who have dyscalculia.
Like Emma King, theoretical cosmologist, works every day with complex equations, but is arithmetically challenged and has dyscalculia.
Same with programming, what you need is the ability to think clearly and logically, and to understand how to break up a task into sections one line at a time and then re-arrange those pieces in a way that is optimal for a computer program to execute them.
The program does the arithmetic, so you don't need to.
If you need to know something like that - yes can use a calculator, or for that matter, write a quick program to do it, if the calculation is one too complex to do in a calculator
Actually I often use Google for calculations - because of its feature and is easier to use than a calculator.
Or else - enter an expression into the watch window of the debugger.
Especially - if you are poor at mental arithmetic - this has nothing, either way, to do with your likely chances of being a good programmer, as far as I can tell. Is an independent thing, same as for maths.
I don't know of computer programmers with dyscalculia. But wouldn't surprise me.
Just done a google search, turned up this forum thread with various programmers posting to a dyscalculia thread saying how they were able to program with dyscalculia - so yes is like maths, and arithmetic, some at least can program just fine with dyscalculia: Discussion Forum: Computer Programming?
Not quite dyscalculia myself. Just kind of average -as in average of general public, pick someone at random from the street, I'd guess 50/50 chance they are better at mental arithmetic than me :). But that doesn't matter for maths or programming I find.
Sometimes helps to have a good dose of common sense. Rough idea of what you expect a calculation to produce.
E.g. (not a real life example) if you programmed it to multiply 37 by 43, clearly the answer must end in 1 (I'm assuming you can do 3*7 = 21 in your head), and must be at least 3 digits, possibly 4.
So then when you get 1591 as the answer you are not surprised by that, and if you got say 71 or 1542, you'd see right away that something is wrong.
But even that much is rarely needed, I find. Much of the time the computer is calculating something too complex for anyone to do in your head anyway. And instead you can add lots of internal checks, if there is any reason to doubt the results. I.e. get the program itself to test its own calculations against a wide variety of cases.
Mainly needs an excellent grasp of logic, and ability to see how a task can be broken down into component steps, and organized using the basic computer concepts of conditional if statements, loops, sequences of instructions and then those packaged up into routines and other higher level constructs. So most of it is logic, I find, with a bit of maths here and there, such as trigonometry, sometimes good to know, and algebra of course essential. Sometimes need ideas from geometry, and the most tricky maths perhaps, when you need to do calculations in 3D. Need to understand coordinates.
For most programming don't need much else maths, and don't need arithmetic. Even if you were unable to add or multiply one digit numbers in your head - well I can't remember when I last needed to multiply together two one digit numbers in my head while coding, as in really needed to do it, to achieve a task. Not in the last month at least. And if you were arithmetically challenged to the extent you can't multiply together two 1 digit numbers, well only difference is that perhaps once every few months you might need to get out a calculator to do it for you or use google or whatever.