java递归求解1-5阶乘之和

xfsunxiaolong 2011-10-15 10:23:53
求java代码1-5阶乘之和
...全文
914 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqlwq123 2011-10-17
  • 打赏
  • 举报
回复
效率还不错,测试了只要不超过范围越界,都能秒杀了。
qqlwq123 2011-10-17
  • 打赏
  • 举报
回复

public static void main(String[] args) {
System.out.println(factorialAdd(5));
}
public static long factorialAdd(int n) {
long[] l = new long[n];
return add(1,l,n);
}

private static long add(int i,long[] l,int n) {
if(i==n) {
return factorial(i, l);
}
else {
return factorial(i, l)+add(i+1,l,n);
}
}

private static long factorial(int n,long[] l) {
if(n==1) {
return l[n-1] = 1;
}
return l[n-1] = l[n-2]*n;
}
结果:153
jimiStephen 2011-10-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 xfsunxiaolong 的回复:]
求java代码1-5阶乘之和
[/Quote]

只用他的用到递归其他人是用循环但是没有递归
chenchenyangll 2011-10-15
  • 打赏
  • 举报
回复
只有1L是正解

其他全部不符合题意
MISSJUDY 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 x19881216 的回复:]

Java code

public static void main(String[] args) throws Exception {
int num = 6;
int sum = 1;
for (int i = 1; i <= num; i++) {
sum *= i;
}

S……
[/Quote]

你这个只是一个阶乘 不是阶乘的和
MISSJUDY 2011-10-15
  • 打赏
  • 举报
回复
class Test
{
public static void main(String[] args)
{
int i=0,sum=0,temple=1;
for(i=0;i<5;i++)
{
temple*=(i+1);
sum+=temple;
}
System.out.println("the sum is:"+sum);
}
}
龙腾冰 2011-10-15
  • 打赏
  • 举报
回复
编程这条路,只有你自己去想着怎么走,你才能走好,遇到事情自己想好好的想一想,然后在去问,这样对你会又很多的好处
lhjtianji 2011-10-15
  • 打赏
  • 举报
回复
楼主,你自己好好想想,在写,这样对你来说不是太好
小绵羊 2011-10-15
  • 打赏
  • 举报
回复

public static void main(String[] args) throws Exception {
int num = 6;
int sum = 1;
for (int i = 1; i <= num; i++) {
sum *= i;
}

System.out.println(sum);
}
尘缘udbwcso 2011-10-15
  • 打赏
  • 举报
回复

public class Factorial {
static int factor(int num){
if(num < 0)
return 0;
if(num == 1)
return 1;
return num * factor(num - 1);
}
public static void main(String[] args){
int sum = 0;
for(int i = 1; i <= 5; ++i)
{
sum += factor(i);

}
System.out.println(sum);

}

}

kiss601459202 2011-10-15
  • 打赏
  • 举报
回复
套用2个递归

public class FindSun {

public static long getSun(int num) {
if (num == 1)
return 1;
else {
return num * getSun(num - 1);
}
}

public static long getAllSun(int num) {
if (num == 1)
return getSun(num);
else {
return getSun(num) + getAllSun(num - 1);
}
}

public static void main(String[] args) {
System.out.println(getAllSun(4));
}

}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧