日期:2014-05-20  浏览次数:20798 次

java怎么实现求n阶层
java怎么实现求n阶层,有人能写个例子吗?我是新手,谢谢大家

------解决方案--------------------
public class jiec {

public void sum(int y)
{
int i,J=1;
for(i=1;i <=y;i++)
J=J*i;
System.out.println(y+ "!= "+J+ "\n ");
}
public static void main(String[] args)
{
jiec jc1=new jiec();
jc1.sum(5);
}
}
------解决方案--------------------
刚接触JAVA
------解决方案--------------------
这个也问呀?
public int f(int n) {
int ret = 1;
for (int i = 1; i <= n; i++)
ret *= i;
return ret;
}

------解决方案--------------------
我没调过!这样也行吧
public static int function(int n){
if(n <1){
return error;
}
else if(n == 1){
return n;
}
else{
return n * function(n -1);
}
}
------解决方案--------------------
算法上来讲有两种方式:递推和递归。skypa和cxz7531写的是递推,alary写的是递归。
但如果考虑阶乘(不是阶层吧?)数比较大的时候,比如求100!的时候,数据类型就不能定义为int了,肯定会不对,可以考虑double类型,当然,你一定要用整数的话,可以用java.math.BigInteger类。
------解决方案--------------------
int factorial(int n)
{
if(n == 0)
return 1;
else
return n*factorial(n-1);
}
------解决方案--------------------
我觉得这不是java新手的问题,建议楼主把数据结构先学好了
------解决方案--------------------
恩,有递推和递归两种方式。
------解决方案--------------------
这是考如何设置数据结构以存储相乘的结果超出数据类型规定的大小的问题