I would take 10, but break it up into groups of 3.
And pay full price for the last one? That would offset all you're gaining!
CMIIW, but you need to redo your math. That ratio would be if it were 3 for $1, not 3 for $2.
10 /$3 = $.30 each
3 / $2 = $.6667 each
3 for $2 means you're paying more then double per can, so by the time you got 6 cans (for $4) you already went over the 10 cans for $3 price.