If you meant AT LEAST 3:
Disregarding your hole cards:
(13 * 12 * 11) / (52 * 51 * 50) +
3 * (39 * 13 * 12 * 11) / (52 * 51 * 50 * 49) +
6 * (39 * 38 * 13 * 12 * 11) / (52 * 51 * 50 * 49 * 48)
= 9.2767%
But if you meant EXACTLY 3:
(5 c 3) * (39p2 * 13p3) / (52 p 5) = 8.1543%
(note: 52p5 is a shorthand for 52*51*50*49*48)
Alternative scenario #1 -- both of your hole cards are hearts:
AT LEAST 3:
(11p3) / (50p3) +
3 * (39 * 11p3) / (50p4) +
6 * (39p2 * 11p3) / (50p5)
= 6.4%
EXACTLY 3:
10 * (39p2 * 11p3) / (50p5) = 5.77%
Scenario #2 -- 1 of your hole cards is a heart:
AT LEAST 3:
(12p3) / (50p3) +
3 * (38 * 12p3) / (50p4) +
6 * (38p2 * 12p3) / (50p5)
= 8.2247%
EXACTLY 3:
10 * (38p2 * 12p3) / (50p5) = 7.3%
Scenario #3 --- neither of your hole cards is a heart:
AT LEAST 3:
(13p3) / (50p3) +
3 * (37 * 13p3) / (50p4) +
6 * (37p2 * 13p3) / (50p5)
= 10.3%
EXACTLY 3:
10 * (37p2 * 13p3) / (50p5) = 9%
If you need me to explain the method, just say so. There is also another method.
**EDIT**
Your wish is my command, pdq! But do not mistake this as an admission of being your female dog!
The reason you can't just do:
10 * (11p3 / 50p3)
is because not all ways of getting 3+ hearts are equivalent, there would be an error resulting from using the same denominator terms too many times and using too few terms in the denominator (getting a non-heart will change the denominator for the next heart, and will also insert an extra term into both the numerator and denominator). Doing the above pretends HHH is the same as XXHHH, which it is not. (11*10*9)/(50*49*48) is not equal to (39*38*11*10*9)/(50*49*48*47*46)
There are 3 different sets of permutations:
A) you can accomplish 3 hearts on the flop
B) you can accomplish them by the turn
C) you can accomplish them by the river
You'll notice my 3 lines of work correspond to those 3 sets. There is only 1 way to get them all on the flop: HHH. There are 3 ways to get them by the turn: HXHH, HHXH, and XHHH. There are 6 ways to get them by the river. Mathematically, every individual permutation belonging to the same category is equal to one another. For instance, P(hxhh) = P(xhhh). So that's why you can just multiply by 3 and 6.
As a way to check my work, notice: P(exactly 3) + P(exactly 4) + P(exactly 5) = 6.4%
(using my method for exactly N hearts)
And my method for exactly N hearts is simple: there MUST be exactly 5-N non-hearts. Those appear in my answer as the "39p2" aka 39*38. And all 5 cards must be accounted for, so there has to be 5 terms in the denominator (so you go from 50 to 46, hence 50p5).
And actually, look again: James' answers agree with mine, not yours :P