As a Dane I don’t think our names for the numbers are good, and I doubt they make us better at math. Most Danes rarely think about why the numbers have the names they have. You just have to learn the names for the numbers 20, 30, 40, 50, 60, 70, 80, 90 and not think about where they came from.
As a kid when I learned those numbers I surely asked why 50 is named that way when it isn’t half of 60. I am not sure if that’s a question most Danish children will ask at some point.
That system of naming numbers only applies to 50 through 90. The names for numbers 20, 30, and 40 do not follow the same system. However Danish does have a word for 1½ based on the same principle as 50, 70, and 90.
The worst part of how numbers are named in Danish is the order in which the digits are said. When you have a number like 456 789, the order in which the digits appear in the name of that number is 4, 6, 5, 7, 9, 8.
Other Scandinavian languages like Swedish and Norwegian have more sensible names for the numbers than we do.
I have heard that the French way of naming numbers is even more complicated than the Danish. But I don’t speak French, so I cannot say if that’s true.