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