1. A method of writing to a variable resistance nonvolatile memory element that changes from a first resistance state for storing first information to a second resistance state for storing second information upon application of a pulse of a first voltage and changes from the second resistance state to the first resistance state upon application of a pulse of a second voltage having a polarity that is different than a polarity of the first voltage, the method of writing comprising weak writing and, subsequently, normal writing which change the variable resistance nonvolatile memory element from the first resistance state to the second resistance state, wherein in the weak writing, the variable resistance nonvolatile memory element is changed to the second resistance state by a pulse of a third voltage having a same polarity as the polarity of the first voltage and an absolute value that is different than an absolute value of the first voltage being applied to the variable resistance nonvolatile memory element and, subsequently, the variable resistance nonvolatile memory element is changed to an intermediate resistance state having a resistance value between a resistance value of the first resistance state and a resistance value of the second resistance state by a pulse of a fourth voltage having a same polarity as the polarity of the second voltage and an absolute value that is less than an absolute value of the second voltage being applied to the variable resistance nonvolatile memory element, in the normal writing, the variable resistance nonvolatile memory element is changed from the intermediate resistance state to the second resistance state by a pulse of the first voltage being applied to the variable resistance nonvolatile memory element at least once, and the absolute value of the fourth voltage is less than the absolute value of the third voltage.