I see nothing wrong with this, why would I write algorithm X from memory or taking my best guess at it on the spot, isn't the whole point of learning them recognising when are they applicable and how to find them quickly ?
Knowing the multiplication table is such steaming nonsense. I know 7x10 is 70 so half of that, 7x5 is 35. I can add seven to 35 fast enough that I don't have to memorize 7x6 is 42.