用java求1到30 的阶层和 用方法

如题所述

阶乘的公式是
n!=n*(n-1)*(n-2)....*2*1
这个公式可以通过一个java的循环来实现,也就是第一种方法。

for(int i=number; i>0;i--)
这个循环在i=0的时候结束, 而阶乘的结果通过result*=i来计算。
public static int compute(int number)
{
int result=1;

for(int i=number;i>0;i--){
result*=i;
}

return result;
}

public static void main(String[] args)
{
System.out.println(compute(30)); //789912231223232323211
}
第二种是通过递归来实现阶乘。
递归就是方法调用自身, 最终通过一个出口来结束程序的调用。
这个出口要保证程序不出现死循环。
在上面的f(x)- n*f(x-1)这里, 出口就可以设置为
if(1==number)
{return 1;}
代码实现:
public static int cur(int number){
if(number!=0){
return number*cur(number-1);
}else return 1;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-26
具体如下:
public class Demo {
public static void main(String[] args) {
float sum = 0;
for(float i = 1 ; i <= 30 ; i ++)
sum += jiecheng(i);
System.out.println("1到30的阶乘累加和为:"+sum);
}
public static float jiecheng(float num) {
if(num == 1)
return 1;
else
return num*jiecheng(num-1);
}
}

速度采纳,谢谢!本回答被提问者和网友采纳

用java求1到30 的阶层和 用方法
{ System.out.println(compute(30)); \/\/789912231223232323211 } 第二种是通过递归来实现阶乘。递归就是方法调用自身, 最终通过一个出口来结束程序的调用。这个出口要保证程序不出现死循环。在上面的f(x)- n*f(x-1)这里, 出口就可以设置为 if(1==number){return 1;} 代码实现:public static ...

JAVA算1、3、5、7、9的阶层怎么算?
for(int i=1;i<10;i+=2){ int num=i;for(int j=1;j<=i;j++){ num*=j;} System.out.println(i+"的阶层为:"+num);}

java中阶乘怎么表示
java中可以用for循环来实现阶层。代码如下:public class Demo { public static void main(String[] args) { for(int i=1;i<5;i++){ int sum = 1;\/\/定义一个用来存储阶层的值 for(int j=1;j<=i;j++){\/\/实现阶层的循环 sum *= j;} System.out.println(i+"的阶层是:"+sum);}...

1!+2!+3!+…100!的阶层求和,用JAVA编程怎么编写出来,高手指点下,谢谢了...
我编写的是 1-10 的阶乘求和 ,如果是 1-100 的话 还要解决科学计数的问题(解决办法是使用字符串,具体的你可以从网上搜下)public class JieCheng { public static void main(String[] args){ int sum = 0;for(int i=1;i<=10;i++){ int m = 1;System.out.print(m);for(int j =...

1-100阶乘之和(java程序)
swing.JPanel;import javax.swing.JTextArea;public class yoyo extends JFrame{public static void main(String[] args){yoyo yo=new yoyo();yo.show();}public yoyo(){setDefaultCloseOperation(EXIT_ON_CLOSE);\/\/设置退出时结束程序setTitle("计算阶层和");setSize(400, 250);setLocation(...

用java语言求出 result = 1!+2!+3!+4!+5!+6!+7!+8!+9!+10!(阶层)的和...
public static void main(String args[]){ int re = 0;for(int i =1;i<=10;i++){ int r = 1;for(int j = 1;j<=i;j++){ r = r*j ;} re = re + r;} System.out.println("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!="+re);} 运行结果:1!+2!+3!+4!+5!+6!

用JAVA语言编程 求1!+2!+3!+4!+5!+6!+7!+8!+9!+10!。(要求:使用while...
1!:表示1的阶乘;2!表示2的阶乘,就是1*2 依次类推就行。1!+2!+3!+4!+5!+6!+7!+8!+9!+10!就是求和嘛,这个直接用循环求和就行了。

java语言中1+1\/2!+1\/3!……中!+什么意思,详解视
2!是表示2的阶乘,也就是2×1;3!当然就是3的阶乘啦,用数学式子表示就是3×2×1,之后4!5!6!的阶乘也依次类推。题中的1+1\/2!+1\/3!……用java式子表示就是:1+1\/(2*1)+1\/(3*2*1)……

使用java程序接收一个小于10的整数n,计算并输出阶乘.
你好,可以用递归方法实现,以下是实现代码:public class Test { \/ param args \/ public static void main(String[] args) { int n = 0;try{ \/\/ 接收控制台传递参数,并将转化为整数 n = Integer.parseInt(args[0]);}catch(Exception ex){ ex.printStackTrace();System.out.println("请输入...

用JAVA编写一个求1!+2!+3!+..+10!的程序然后输入三个数升序排列 ,用for...
import java.util.*;public class Jiecheng{ public static void main (String[] args) { long acc=1,sum=0;int[]arr=new int[3];int i,j;for(i=1;i<=10;i++){ for(j=1;j<=i;j++){ acc*=j;} sum+=acc;acc=1;} System.out.println("1到10的阶乘之和是:"+sum);\/\/...

相似回答