I don't know how you feel about it-- but I would use Perl. Perl generally has a "no limits" ideology. It's not the fastest language around, but it's really simple to learn and you can do a lot quickly with the code. It's my favorite language for solving algorithm/math problems (like those at Project Euler).
If speed becomes an issue with Perl you could always do some inline C code to try an speed it up.
Historically, FORTRAN has always been the language favored for hardcore scientific/math programming, and there is such a large code base out there, I doubt you will get away from it completely for a long time.
I suppose it depends on the application and intended audience. For example, if your boss tells you to program in, say, Java, that would become your favorite language.
C or C++ for things that need to be pretty fast,
Python with the NumPy library for things that you would normally use Matlab for,
Fortran for things that really need to run on a supercomputer and run fast, or if you are using libraries written in Fortran,
Haskell or O'Caml for non-numerical computing math problems that are interesting and difficult.
Matlab is good for matrix manipulation and general math. Easy and quick to implement items and quite intuitive, it does differ quite dramatically from other languages such as c etc but worth a look. Only really good if performance is not a main concern as it does have a habit of eating up as much memory as it can. It also is able to manipulate images and sound easily.
I have this problem which says, "A programmer can use the random feature to emulate the flipping of a coin. For example, if the generator produces a number 0 or 1, the value 0 can be assigned heads and the value 1 can be assigned tails.
Write a program that ...