当前位置:  技术问答>java相关

急: 寻可以求大数的阶乘java算法!

    来源: 互联网  发布时间:2015-04-12

    本文导语:  急: 寻可以求大数的阶乘java算法! | /*  * Copyright (c) 2000 David Flanagan.  All rights reserved.  * This code is from the book Java Examples in a Nutshell, 2nd Edition.  * It is provided AS-IS, WITHOUT ANY W...

急: 寻可以求大数的阶乘java算法!

|
/*
 * Copyright (c) 2000 David Flanagan.  All rights reserved.
 * This code is from the book Java Examples in a Nutshell, 2nd Edition.
 * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied.
 * You may study, use, and modify it for any non-commercial purpose.
 * You may distribute it non-commercially as long as you retain this notice.
 * For a commercial use license, or to purchase the book (recommended),
 * visit http://www.davidflanagan.com/javaexamples2.
 */
package com.davidflanagan.examples.basics;

// Import some other classes we'll use in this example.
// Once we import a class, we don't have to type its full name.
import java.math.BigInteger;  // Import BigInteger from java.math package
import java.util.*;  // Import all classes (including ArrayList) from java.util

/**
 * This version of the program uses arbitrary precision integers, so it does
 * not have an upper-bound on the values it can compute.  It uses an ArrayList
 * object to cache computed values instead of a fixed-size array.  An ArrayList
 * is like an array, but can grow to any size.  The factorial() method is
 * declared "synchronized" so that it can be safely used in multi-threaded
 * programs.  Look up java.math.BigInteger and java.util.ArrayList while 
 * studying this class.  Prior to Java 1.2, use Vector instead of ArrayList
 **/
public class Factorial4 {
    protected static ArrayList table = new ArrayList(); // create cache
    static { // Initialize the first element of the cache with !0 = 1.
table.add(BigInteger.valueOf(1));
    }

    /** The factorial() method, using BigIntegers cached in a ArrayList */
    public static synchronized BigInteger factorial(int x) {
        if (x

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 对于网络传输的数据,一般可以采用什么算法进行加密
  • 在UNIX中可以包含STL算法吗?
  • 那个大侠可以推荐一本关于java的数据结构和算法的书?  
  • 请问linux中,有没有现成的md5算法可以使用?
  • 求意见如何在linux的应用软件中实现一个cpu调度框架,使得多个cpu调度算法可以在同一个系统中实现无缝整合?(分数不够还能再加)
  • C++ MultiMaps 成员 max_size():返回可以容纳的最大元素个数
  • 我从网上下载LUNUX然后用盘刻录了可以安装吗?如果可以请告诉我下载地址可以吗?谢谢,我学习用的!谢谢
  • C++ Bitsets 成员 size():返回可以容纳的位的个数
  • tc下可以,gcc下不可以.请告说我,怎样就都可以了
  • C++ Maps 成员 max_size():返回可以容纳的最大元素个数
  • 生产者消费者问题为什么不可以共用一个信号量,如果这个信号量可以设置取值固定为0到N,即当信号量取值为N的时候阻塞进程,是否也可以?
  • 网站英文/中文域名字符集即网站英文/中文域名可以包含哪些字符
  • weblogic可不可以当作jndi服务器使用?如果可以,请问如何管理?
  • 必看!程序员升级之路,看了可以少走很多弯路
  • 请问用ftp可以不可以把整个目录一起上传。
  • linux可不可以和windows共享??可以的话,该怎么做?
  • 怎样写一个shell,可以查看一个文件的内容,并且有翻页的内容,并可以打印的
  • 可以从硬盘上安装redhat吗?linux可以用ghost备份吗?
  • 学习unix,急需教程,请问哪里可以下载,或者谁可以提供这方面的材料!
  • 在线等,为什么我的代码原来可以运行,现在不可以了????TextPad
  • 为什么在网页中有的applet可以显示,有的不可以显示 在线等待!!!!!
  • 怎样让一个.SH文件在任何目录下都可以直接敲入文件名*.SH就可以运行? iis7站长之家
  • iconv可以用来转换文字编码,有没有可以用来识别编码的?
  • 为什么我在linux7.1中有些命令有时可以用有时不可以用?
  • 怎样让一个.SH文件在任何目录下都可以直接敲入文件名*.SH就可以运行?
  • 我发现在Redhat Linux中有个选项可以连上MSN,不知怎么才可以连上,谢谢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3