求n!

上一篇 / 下一篇  2010-08-12 20:20:36 / 个人分类:程序

VB Script

Option Explicit
Dim Input,i,s,n
s=1
Input=InputBox("please input the number!")
MsgBox("input: " & Input)
Execute Factor(input)
Function Factor(n)
For i=1 To n
s=s*i
Next
MsgBox("s的阶乘是:" & s)
End Function

C

long factor(int n)
{if(n==0||n==1)
 return 1;
  else
    return n*factor(n-1);
}
main()
{
int i;
scanf("%d",&i);
printf("%d!=%ld\n",i,factor(i));
}

Java

public class Test{
 static int multiply(int n){
  if (n==1||n==0)
  return n;
  else
  return n*multiply(n-1);
 }
 public static viod main(string[] args){
  system.out.printIn(multiply(10));
 }
}  


TAG:

Mike的个人博客 引用 删除 junxijava   /   2010-08-15 11:35:52
你这个算法是不通用的,只能适合小数字,如果是大数字,比如n=100,就溢出了
引用 删除 lijingcheng3359   /   2010-08-14 14:15:35
sum = 1
for i in range(2, n):
    sum *= i
print sum
 

评分:0

我来说两句

Open Toolbar