hiroi様のとこのサイトの階乗の処理をHSPで書いてみました
http://www.nct9.ne.jp/m_hiroi/light/ruby01.html
#const INT_MAX 256*256*256*128-1 mes INT_MAX mes INT_MAX+1 mes INT_MAX / (128*256) mes "kaijou" repeat 15,1 mes ""+cnt+":"+ kaijou(cnt) loop stop // p4mul_A(例えば10000)*p4mul_B(例えば10000)が // over flowしないかcheck #defcfunc over_INT_MAX int p4mul_A,int p4mul_B if p4mul_B==0:return 1 if p4mul_A<(INT_MAX / p4mul_B){ return 1 }else{ return -1 } #defcfunc kaijou int p m = 1 max=p+1 for i,1,max,1 if over_INT_MAX(m,i)==-1:return -1 m*=i next return m