There's no easy way to do these, it's really just using logic:

Numbers that begin with 1:

1x?x?x?x?x? (first digit MUST be 1, so 1 possibility)

1x?x?x?x?x5 (last digit must be 0,2,4,6,or 8 so 5 possibilities)

__1x8x7x6x5x5__ (8 possibilites left for the second digit and so on)

Numbers that begin with 2:

1x?x?x?x?x? (first digit MUST be 2, so 1 possibility)

1x?x?x?x?x4 (last digit must be 0,4,6,or 8 (can't be 2) so 4 possibilities)

__1x8x7x6x5x4__ (8 possibilites left for the second digit and so on)

Numbers that begin with 30:

1x1x?x?x?x? (Must be 3 in first and 0 in second)

1x1x?x?x?x4 (To be even, last digit must be 2,4,6,8 as 0 is already used)

__1x1x7x6x5x4__ ( 7 possibilities left for the third digit and so on)

Adding these underlined values gives the total number of 6-digit even numbers (no repeating digits) less than 310 000.

So take this total away from (c) {the corrected version} to get the number of required numbers greater than (or equal to) 310 000. If you want the number greater tha 310 000, you'll have to subtract 1 (to exclude 310 000 itself from being counted).

Makes sense to me. Hope it makes sense to you too!