`
free_bird816
  • 浏览: 206044 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java计算阶乘

    博客分类:
  • java
阅读更多

第一个用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));

  }

  }

  
第二个用java计算阶乘的方法:这个是利用递归算法制成的。

  

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(10));

  }

  }

  


第三个用java计算阶乘的方法:这个是数组添加的方法制成的,可以计算更大的阶乘。


 

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(17));

  }

  }

  
第四个用java计算阶乘的方法:最后一个是利用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(17));

  }

  }

  

分享到:
评论

相关推荐

    Java计算阶乘 源代码

    本项目提供的"Java计算阶乘 源代码"旨在帮助我们实现任意整数的阶乘计算。首先,我们需要理解什么是阶乘。阶乘是将一个正整数n与小于它的所有正整数相乘的结果,表示为n!。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。...

    计算阶乘 java

    java 阶乘计算 呵呵呵呵呵呵呵呵呵呵呵

    java源代码--阶乘的计算

    `public static void method(int n)` 是计算阶乘的辅助方法,接收一个整数`n`作为参数,表示要计算的阶乘的基数。方法内部,使用`long`类型的变量`result`和`f`分别存储阶乘的和以及当前的阶乘值。 6. **循环计算*...

    java代码-解决求阶乘的问题java源代码

    java代码-解决求阶乘的问题java源代码 ——学习参考资料:仅用于个人学习使用

    使用递归计算阶乘

    java中使用递归方法计算阶乘的代码示例

    用java实现阶乘三种方法

    本篇文章将详细介绍三种不同的Java实现方式,帮助你深入理解如何通过编程计算阶乘。 首先,让我们定义阶乘的概念。阶乘(n!)是所有小于及等于n的正整数的乘积,对于非负整数n,阶乘表示为n! = 1 × 2 × 3 × ... ...

    java阶乘计算器,用来计算阶乘

    java窗体程序阶乘计算器,输入整形数据,然后输出结果。如果数据过大,会造成输出有误。

    Java阶乘求和计算范例.rar

    而算法是解决问题的步骤,这里是通过设计计算阶乘和求和的步骤来完成特定的数学任务。 在提供的压缩包文件"codesc.net"中,可能包含的是实现上述功能的Java源代码文件。打开这个文件,可以查看和学习具体的实现细节...

    计算阶乘的的源代码

    根据提供的文件信息,本文将详细解析“计算阶乘的源代码”,主要涉及的知识点包括:JSP基础概念、HTML与JavaScript结合使用的方式、递归函数实现阶乘计算的方法。 ### JSP基础概念 JSP(JavaServer Pages)是一种...

    [Java算法设计]-阶乘求和.java

    该资源提供了一份全面的指南,介绍了如何在Java中计算阶乘之和。文档中涵盖了阶乘的基本概念,包括如何计算阶乘以及如何计算阶乘之和并将其存储在变量中。此外,文档还包括一个逐步指南,介绍如何在Java中实现代码,...

    求某个数的阶乘java代码

    Java是一种广泛使用的面向对象的编程语言,它提供了丰富的库和工具来处理各种计算任务,包括计算阶乘。在这个场景中,我们需要编写一个Java程序来计算任意整数的阶乘。 阶乘是指一个正整数n的阶乘(表示为n!)是...

    【Java】阶乘和组合数.zip

    总之,"【Java】阶乘和组合数.zip"项目旨在教授如何在Java中有效地计算阶乘和组合数,这对于理解和实现涉及这些概念的算法至关重要。这不仅有助于提升编程技巧,也对理解数据结构和算法有积极的推动作用。如果你遇到...

    计算阶乘的和(java代码).docx

    ### 计算阶乘的和(Java代码) #### 知识点概述 本文档提供了一个用Java编写的程序示例,该程序能够计算并输出从1到n的阶乘之和,即1! + 2! + 3! + ... + n!。此程序包含了以下几个关键部分: 1. **用户输入验证*...

    java程序关于计算1到20 的阶乘的和

    此java程序时计算1到20 的阶乘的和,即1!+2+3!+4!+5!+6!+7!.......19!+20! 如果你稍微改下就可以只算阶乘!

    java阶乘应用小程序

    在JAVA中,我们可以使用两种主要方法来计算阶乘:递归和循环。 1. **递归方法**: 递归是函数调用自身的过程。在计算阶乘时,我们可以定义一个函数,如`factorial(n)`,它根据以下规则工作: - 如果n等于1或0,...

    java递归实现 阶乘

    在Java中,我们可以创建一个名为`factorial`的方法,该方法接受一个整数n作为参数,然后通过递归调用来计算阶乘。以下是具体实现: ```java public class Factorial { public static void main(String[] args) { ...

    java中的1到20的阶乘

    5. **数学概念的应用**:通过计算阶乘,加深了对数学概念的理解,并将其应用于实际编程问题中。 #### 四、进阶思考 - **递归实现**:除了使用循环外,阶乘还可以通过递归来实现。递归方法虽然更加简洁,但在大数值...

    简单的java大数阶乘运算算法

    本篇将深入探讨如何利用Java实现大数阶乘的计算,以及背后的算法原理。 首先,我们需要了解阶乘的概念。阶乘是一个正整数n的所有小于等于n且大于0的正整数的乘积,表示为n!。例如,5! = 5 × 4 × 3 × 2 × 1 = ...

    JAVA求N的阶乘

    阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。 一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,...

    【java学习记录】11.多线程实现阶乘计算(Thread类和Runnable接口)

    `calculateFactorial()`方法用于计算阶乘,`run()`方法则在新线程中执行。注意,由于计算过程中可能涉及多个线程,为了防止数据竞争,我们使用`synchronized`关键字来确保计算过程的原子性。 接下来,我们看看如何...

Global site tag (gtag.js) - Google Analytics