>  2009/07/12 (日) 20:06:20        [qwerty]
> > 初めてにしては酷すぎる
> > いろいろ突っ込みどころも満載過ぎる
> > ちゃんと動かしてみたか?
> > TPOサイトに関してはよくわからんので言及はしない
> 改良してちゃんと動くようになったぞ(;´Д`)すげえだろ
> #include <stdio.h>
> int main(void)
> {
> 	int data;
> 	scanf("%d",&data);	/* 入力部分 */
> 	int i=0;
> 	int data2;
> 	int data3;
> 	data2=data-1;
> 	data3=data-1;
> 	for (i=1;i<=data3;i++){
> 	data=data*data2;
> 	data2=data2-1;
> /*	if(i==data-1) break;*/
> 	}
> 	printf("%d\n",data);
> 	return 0;
> }

i = ARGV[0].to_i
j = 1
while (i > 1)
  j = i * j
  i = i - 1
end
print j

rubyだと7行だよ
bignumに対応してるからメモリが足りる限りいくらでも大きな階乗を求められる
99999999999999999999999999999999999999999999999999の階乗とか余裕

参考:2009/07/12(日)20時03分40秒