Here's an example of how I do my subnetting, feel free to make suggestion, thank you.
Sub problem from
New York Business Institute - NYBI
Q. What are the subnet mask, first available host address of subnet one (NOT subnet zero), and the maximum number of hosts per subnet for the network below? (You need to allow for maximum number of hosts. Also, you can use subnet zero and all-ones subnet. RFC 187

Network ID: 222 17 128 0
Subnets Required: 7
Subnet Mask: ?
1st Available Host ?
Address of Subnet 1: ?
Max # of hosts/subnet: ?
Fist thing I do is write down
128 192 224 240 248 252 254 255
01-126 128-191 192-223
Then work the problem in this fashion,
1) 128 64 32 16 8 4 2 1, need 7 subnets therefore borrow from the first 3 bits = 3 bits needed
2) Network ID: 222 17 128 0 is a class C therefore 255.255.255.0
255.255.255.000 0000 borrow from last octect .1110 0000
convert this into /27 or .224
3)Find increment, last bit on .1110 000 is 32
therefore 1st Available Host is 222.17.128.33
4) Max # of hosts/subnet: is 2n-2 = 2x5 -2 result is 32-2 = 30
30 hosts.
This method takes me about 1 minute. I know there's got to be a more efficient way to do this..