java编程,怎么算1!+2!+3!+4!+……+n!
4个回答
展开全部
public class Test004 {
public static void main(String[] args) {
System.out.println(func2(4));
}
//计算阶乘
private static long func1(int n) {
if(n <= 0) {
System.out.println("请输入正整数!");
return -1;
}else if(n == 1){
return 1;
}else {
return n * func1(n-1);
}
}
//计算求和
private static long func2(int n) {
if(n <= 0) {
System.out.println("请输入正整数!");
return -1;
}else if(n == 1){
return 1;
}else {
return func1(n) + func2(n-1);
}
}
}
展开全部
//求N的阶乘方法
public static int factorial(int n)
{
if(n == 1)
{
return 1;
}
return n * factorial(n-1);
}
//求出1!+2!+3!+...+n!
public static int calc(int n)
{
if(n == 1)
{
return 1;
}
return factorial(n) + calc(n - 1);
}
//main方法
public static void main(String[] args) throws Exception
{
System.out.println(calc(3));
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1! = 1;
2! = 1*2;
3! = 1*2*3;
1! + 2! + 3! = 1(1+2(1+3)) ;
1! + 2! + 3! +4! = 1( 1 + 2( 1 + 3(1 + 4)));
规律如上,代码参考下下面的
static long a (int i){
if (i < 1){
throw new IllegalStateException("输入小于1");
}
if (i == 1){
return 1;
}
long ret = 1;
for ( ; i > 1; i--){
ret = 1 + i *ret;
}
return ret;
}
public static void main(String[] args) {
System.out.println(a(4));
}
2! = 1*2;
3! = 1*2*3;
1! + 2! + 3! = 1(1+2(1+3)) ;
1! + 2! + 3! +4! = 1( 1 + 2( 1 + 3(1 + 4)));
规律如上,代码参考下下面的
static long a (int i){
if (i < 1){
throw new IllegalStateException("输入小于1");
}
if (i == 1){
return 1;
}
long ret = 1;
for ( ; i > 1; i--){
ret = 1 + i *ret;
}
return ret;
}
public static void main(String[] args) {
System.out.println(a(4));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Jiec {
public static void main(String[] args) {
int sum=0,t=1,n;
for(n=1;;n++)
{
t=t*n;
sum=sum+t;
if(sum>10000)
{
break;
}
}
System.out.println("sum="+sum+" "+"n="+n);
}
}
public static void main(String[] args) {
int sum=0,t=1,n;
for(n=1;;n++)
{
t=t*n;
sum=sum+t;
if(sum>10000)
{
break;
}
}
System.out.println("sum="+sum+" "+"n="+n);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询