The coin catastrophe
Haskell, 177 165 bytes

Thanks to @Lynn.

f n|n&gt;2504='Y':f(n-2500)|n&gt;1004='N':f(n-1000)|n&gt;504='E':f(n-500)|n&gt;104='O':f(n-100)|n&gt;29='D':f(n-25)|n&gt;14='F':f(n-10)|n&gt;9='T':f(n-5)|n&gt;6='P':f(n-1)|0&lt;1=[1..2*n]&gt;&gt;"H"


In a readable format:

f n
  | n &gt; 2504 = "Y" ++ f(n-2500)
  | n &gt; 1004 = "N" ++ f(n-1000)
  | n &gt; 504 = "E" ++ f(n-500)
  | n &gt; 104 = "O" ++ f(n-100)
  | n &gt; 29 = "D" ++ f(n-25)
  | n &gt; 14 = "F" ++ f(n-10)
  | n &gt; 9 = "T" ++ f(n-5)
  | n &gt; 6 = "P" ++ f(n-1)
  | 0 &lt; 1 = replicate (2*n) 'H'


Just give out the biggest denomination which still leaves more than 5 cents to fill with halfcoins.