计算的阶乘的java代码 阶乘java语言程序

java中怎么实现阶乘,如计算1~100的阶乘

使用BigInteger大容量运算类计算100的阶乘

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、雅安服务器托管、营销软件、网站建设、错那网站维护、网站推广。

一.一般算法(循环)

view plaincopy to clipboardprint?

public class Test {

public static void main(String[] args) {

int result = 1;

for (int i = 1; i = 100; i++) {

result *= i;

}

System.out.println(result);

}

}

public class Test {

public static void main(String[] args) {

int result = 1;

for (int i = 1; i = 100; i++) {

result *= i;

}

System.out.println(result);

}

}

输出结果为0,因为int无法保存下100的阶乘的结果,100的阶乘的长度至少大于50位,也要大于long,double

二.使用BigInteger大容量运算类

view plaincopy to clipboardprint?

import java.math.BigInteger;

public class Test {

public static void main(String[] args) {

BigInteger result = new BigInteger("1");//为result赋初始值,为1

for (int i = 1; i = 100; i++) {

BigInteger num = new BigInteger(String.valueOf(i));

result = result.multiply(num);//调用自乘方法

}

System.out.println(result);//输出结果

System.out.println(String.valueOf(result).length());//输出长度

}

}

import java.math.BigInteger;

public class Test {

public static void main(String[] args) {

BigInteger result = new BigInteger("1");//为result赋初始值,为1

for (int i = 1; i = 100; i++) {

BigInteger num = new BigInteger(String.valueOf(i));

result = result.multiply(num);//调用自乘方法

}

System.out.println(result);//输出结果

System.out.println(String.valueOf(result).length());//输出长度

}

}

计算结果为:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

产度:158

JAVA中怎么表示阶乘

java中可以用for循环来实现阶层。

代码如下:

public class Demo {

public static void main(String[] args) {

for(int i=1;i5;i++){

int sum = 1;//定义一个用来存储阶层的值

for(int j=1;j=i;j++){//实现阶层的循环

sum *= j;

}

System.out.println(i+"的阶层是:"+sum);

}

}

}

for循环中的变量从1开始,循环遍历到阶层本身的这个数,通过一个变量来记录上一个数的乘积即可。

用java编写n的阶乘要求是int foo(int+x)

按照你的要求编写的n的阶乘的Java程序如下

public class Factorial{

public int foo(int x){

if(x==0 || x==1){

return 1;

}else{

return x*foo(x-1);

}

}

public static void main(String[] args){

int n=6;

Factorial f=new Factorial();

System.out.println(f.foo(n));

}

}

编写一个JAVA程序,从键盘输入一个数,计算阶乘.如输入:3,则输出1!+2!+3!

import java.util.Scanner;

public class A{

//下面的方法是对单个数求阶乘,并返回

public static int jieCheng(int n){

int sum=1;

for(int i=1;i=n;i++){

sum*=i;

}

return sum;

}

//下面是对所有数求阶乘,再全部相加,并返回

public static int add(int n){

int sum=0;

for(int i=1;i=n;i++){

sum+=jieCheng(i); //调用上面的方法,对单个求阶乘,再全部相加

}

return sum;

}

public static void main(String[] args){

Scanner input=new Scanner(System.in);

System.out.println("请输入数字:");

int n=input.nextInt();

System.out.println("运算得到:"+add(n));

}

}

//总结:此题有个特点,n等于要相加的数字的总数,也等于要求阶乘的最大数


文章标题:计算的阶乘的java代码 阶乘java语言程序
当前路径:http://hbruida.cn/article/ddsosij.html