最初の rnd で 0 が出た時 num[times] が 2 になるって変じゃないですか?? while rnd(hani-1) でいいのでは? 16行目は while の外に出した方がいいでしょう。 18行目は inc num[times] の方が速いです。(配列に限って inc が速い)