62,615
社区成员
发帖
与我相关
我的任务
分享
//1!+2!+3!...+n!
public class FabPlus {
int index;
long sum = 1;
public long fabPlus(int index) {
if (index == 1) {
return 1;
}
sum += index * fabPlus(index - 1); //sum作为每一次函数fabPlus被调用时的累加器s
return index * fabPlus(index - 1);
}
public static void main(String args[]) {
FabPlus a = new FabPlus();
a.fabPlus(4); //测试1!+2!+3!+4!
System.out.println(a.sum);
}
}
public static int doFactorial(int n)
{
if (n < 0){ return -1;
}
if (n == 0)
{// 0!=1
return 1;
}
else if (n == 1)
{// 退出递归的条件
return 1; }
else {// 满足进行递归的条件
return n * doFactorial1(n - 1);
}
}
public static long sumF(long n)
{
if(n==1)return 1;
if(n==2)return 3;
return (n+1)*sumF(n-1)-n*sumF(n-2);
}
public class Digui {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
int n = 0;
int sum = 0;
System.out.print("请输入n的值:");
n = new Scanner(System.in).nextInt();
Digui dg = new Digui();
sum = dg.digui(n);
System.out.println(sum);
}
public int digui(int n) {
if(n <= 0) return 0;
int x = 1;
for(int i = 1; i<=n; i++ ) {
x *= i;
}
return x+digui(n-1);
}
}