java里1到10的阶乘相加编程怎么做?

Python020

java里1到10的阶乘相加编程怎么做?,第1张

java里1到10的阶乘相加编程方法如下:

public class Factorial{                   //类

public static void main(String [] args){ //主方法

int a=1                                //定义一个变量a

int sum=0                              //定义一个变量sum,把和存放在sum里

for(int i=1i<11i++){                  //做1-11循环

a=1                                   //每次a都从1开始

for(int j=1j<=ij++){                 //求每个数的阶乘

a=a*j                               

}

sum=a+sum                             //每个数的阶乘求好后都加入sum

}

System.out.println(sum)                //输出和sum

}

}

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

阶乘的公式是

n!=n*(n-1)*(n-2)....*2*1

这个公式可以通过一个java的循环来实现,也就是第一种方法。

for(int i=numberi>0i--)

这个循环在i=0的时候结束, 而阶乘的结果通过result*=i来计算。

public static int compute(int number)

{

int result=1

for(int i=numberi>0i--){

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

}

for的嵌套循环的:

public class Practice5 {

public static void main(String[] args) {

long sum = 0, c

for (int i = 1 i <= 20 i++) {

c = 1

for (int b = 1 b <= i b++) {

c *= b

}

sum += c

}

System.out.println("1到20的阶乘和等于" + sum)

}

}

单个for循环的:

public class Practice5 {

public static void main(String[] args) {

long sum = 0, c = 1

for (int i = 1 i <= 20 i++) {

c *= i

sum += c

}

System.out.println("1到20的阶乘和等于" + sum)

}

}