当前位置:首页 » 编程语言 » java中阶乘

java中阶乘

发布时间: 2022-06-21 04:45:59

1. java 中阶乘怎么做

long result = 0;
long f = 1;

for(int i = 1; i <= 10; i++) {
f = f * i;
result += f;
}
System.out.println("result="+result);

10的阶乘。多的不写了。

2. java中阶乘怎么表示

没有自带方法表示阶乘,必须自己通过循环来实现

3. java阶乘问题

像你这个要设置一个最小值。用if,
当它阶乘到了零的时候都应该停止运算。

4. java阶乘的算法是什么

public class Factorial { public static int factorial(int x) { if (x < 0) { throw new IllegalArgumentException(x must be=0); } int fact = 1; for (int i = 2; i <= x; i++) { fact *= i; } return fact; } public static void main(String args[]) { System.out.print(factorial(10)); }}这个是利用递归算法制成的。public class factorial2 { public static int factorial2(int x) { if (x < 0) { throw new IllegalArgumentException(x must be=0); } if (x <= 1) { return 1; } else return x * factorial2(x - 1); } public static void main(String args[]) { System.out.print(factorial2(17)); }}这个是数组添加的方法制成的,可以计算更大的阶乘。public class Factorial3 { static long[] table = new long[21]; static {table[0] = 1; } static int last = 0; public static long factorial(int x) throws IllegalArgumentException { if (x = table.length) { throw new IllegalArgumentException(Overflow; x is too large.); } if (x <= 0) { throw new IllegalArgumentException(x must be non-negative.); } while (last < x) { table[last + 1] = table[last] * (last + 1); last++; } return table[x]; } public static void main(String[] args) { System.out.print(factorial(4)); }}最后一个是利用BigInteger类制成的,这里可以用更大的更大的阶乘。import java.math.BigInteger;import java.util.*;public class Factorial4{ protected static ArrayList table = new ArrayList(); static{ table.add(BigInteger.valueOf(1));} public static synchronized BigInteger factorial(int x){ for(int size=table.size();size<=x;size++){ BigInteger lastfact= (BigInteger)table.get(size-1); BigInteger nextfact= lastfact.multiply(BigInteger.valueOf(size)); table.add(nextfact); } return (BigInteger) table.get(x); } public static void main(String[] args) { System.out.print(factorial(4)); } }其实方法还有很多,这里提供的也算是个框架形式。分享之

5. java中怎么实现阶乘

import java.util.Scanner;

public class Jiecheng {
public static void main(String[] args) {
System.out.print("请输入你想要的阶乘数:");
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
System.out.print("!" + a + "的结果是:" + jiecheng(a));
}

public static double jiecheng(int a) {
if (a <= 1) {
return a;
}

return jiecheng(a - 1) * a;
}

}

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

使用BigInteger大容量运算类计算100的阶乘
一.一般算法(循环)
view plain 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 plain 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());//输出长度
}
}
计算结果为:000000000000000000
产度:158

7. java求阶乘

/*
*使用递归求解n的阶乘
*@param n--参数,被计算的阶乘
*@return 返回n的阶乘计算出来的结果
*/
public int doFactorial1(int n){
if(n<0){//传入的n不合法
return -1;//返回-1,说明参数不合法
}

if(n==0){//0!=1
return 1;
}
else if(n==1){//退出递归的条件
return 1;
}else{//满足进行递归的条件
return n*doFactorial1(n-1);
}
}

/*
*使用非递归求解n的阶乘
*@param n--参数,被计算的阶乘
*@return 返回n的阶乘计算出来的结果
*/
public int doFactorial2(int n){
int result=1;//结果
if(n<0){//传入的n不合法
return -1;//返回-1,说明参数不合法
}
if(n==0){//0!=1
return 1;
}

for(int i=1;i<=n;i++){//从1~n相乘
result*=i;
}
return result;//返回结果
}

8. 用java求阶乘

求阶乘用for就行,假设我们要对num求阶乘,结果是result
int result = 1;

for (int i=1;i<=num;i++){
result *= i;
}
此时result的值即为num的阶乘(仅正整数)

9. Java中关于阶乘是怎么回事。

阶乘是数学上的一个概念,下面是对它的定义:
一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且有0的阶乘为1。自然数n的阶乘写作n!。

10. JAVA中怎么表示阶乘

1、首先在电脑打开eclipse软件,创建Scanner对象。

热点内容
sql网校 发布:2025-03-20 06:16:42 浏览:278
安卓手机图标排列为什么会混乱 发布:2025-03-20 06:16:05 浏览:760
手机pin初始密码是多少 发布:2025-03-20 06:15:59 浏览:897
javaif常量变量 发布:2025-03-20 06:15:57 浏览:343
iis安装sql 发布:2025-03-20 06:05:31 浏览:148
制作自解压安装 发布:2025-03-20 05:41:49 浏览:304
华为连接电视密码是多少 发布:2025-03-20 05:31:11 浏览:493
算法第五版 发布:2025-03-20 05:17:57 浏览:730
湖南台访问 发布:2025-03-20 05:10:32 浏览:38
脚本和秒抢 发布:2025-03-20 05:06:29 浏览:592