日期:2014-05-20 浏览次数:21063 次
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)); } }
------解决方案--------------------
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); } }
------解决方案--------------------
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); }
------解决方案--------------------
楼主,你自己好好想想,在写,这样对你来说不是太好
------解决方案--------------------
编程这条路,只有你自己去想着怎么走,你才能走好,遇到事情自己想好好的想一想,然后在去问,这样对你会又很多的好处
------解决方案--------------------
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);
}
}
------解决方案--------------------
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
------解决方案--------------------
效率还不错,测试了只要不超过范围越界,都能秒杀了。