1. A method for programming a nonvolatile memory device to program memory cells from one or more first logic states to two or more second logic states, the method comprising: providing a number of program voltages to a selected word line; and providing verify voltages corresponding to the second logic states to the selected word line, wherein the number of the program voltages provided to the selected word line varies according to a threshold voltage difference between each of the first logic states and each of the second logic states.