あっ>>396の下のreturn が(double)((int)(++num))になってないのは見逃しといて。。。