Here is a link to a practice exercise I found online:
I start out with the block 192.168.24.0/22
I see my largest group of hosts is 400, which requires 9 bits192.168.24.0/22 gets broken down into: 192.168.24.0/23 (capable of 510 hosts)(used for the 400 hosts) 192.168.26.0/23 (further subnetted below)
Now I need to get a block that can service 200 hosts (requires 8 bits)192.168.26.0/23 gets broken down into: 192.168.26.0/24 (capable of 254 hosts)(used for the 200 hosts) 192.168.27.0/24 (further subnetted below)
Now I need two blocks that can service 50 hosts each (6 bits required) To reduce waste, I broke this into a /25 to get the following: 192.168.27.0/25 (126 hosts each) (further subnetted below) 192.168.27.128/25192.168.27.0/25 gets broken down further into: 192.168.27.0/26 (capable of 62 hosts each) 192.168.27.64/26 (capable of 62 hosts each (These two fill the need for both of the 50 hosts)
I have 192.168.27.128/25 left over to further subnet or use to address more hosts.