HW—可怕的阶乘n!__注意大数据函数的使用BigInteger

java.math.BigInteger系列教程(四)BigInteger的诞生原因

为什么java里面要出现BigInteger类型呢?相信很多人有这个疑问,其实原因很简单,它可以表达更大范围的数值,远远比long表示的最大值还要大的多数。在整数类型里面,long可以表达最大值,如下所示:

1

2

3

4

5

6

7

public class Test

{

public static void main(String[] args)

{

System.out.println(Long.MAX_VALUE);

}

}

结果为:9223372036854775807
  而使用BigInteger,则可以表示更大的值,理论上只要你内存足够大,就能,如下面的例子:

1

2

3

4

5

6

7

8

9

10

public class Test

{

public static void main(String[] args)

{

BigInteger a= BigInteger.valueOf(9223372036854775807L);

BigInteger b= BigInteger.valueOf(9223372036854775807L);

BigInteger c=a.add(b);

System.out.println(c.toString());

}

}

结果为:18446744073709551614

  因为BigInteger没有重载"+","-","*",“/”, “%”这五个运算操作符,是不能直接进行数据运算的,需要调用它的相应方法:add,subtract,multiply,divide,remainder。

Java版本的是:

package t0816;

import java.math.BigInteger;
public final class BigN {
    public static BigInteger  multiply(BigInteger m,int n) {
        BigInteger sn = new BigInteger(Integer.toString(n));
        BigInteger sqy = m.multiply(sn);  //大数据的加减乘除用的是add、subtract、multiply、divide,remainder。
        return sqy;
    }
    public static String  calcNN(int n) {
        if(n >= 0){
            BigInteger one = new BigInteger(Integer.toString(1)); //1的初始化
            for(int i=1;i <= n;i++)     {
                one = multiply(one,i);  //调用上面的累成函数;大数据的累成
                }
            return one.toString();
            }
        else   return null;
    } 

    public static void main(String arg[]) {     //主函数
        System.out.println(calcNN(13));    //这里直接装的13;
    }
}

输出:6227020800

时间: 2024-08-06 15:45:11

HW—可怕的阶乘n!__注意大数据函数的使用BigInteger的相关文章

[华为机试练习题]17.可怕的阶乘

题目 题目标题: 计算阶乘n!是一件可怕的事情,因为当n并不是很大时,n!将是一个很大的值.例如13! = 6227020800,已经超过了我们常用的unsigned int类型的取值范围.请设计一个程序,使其可以计算100以内的数的阶乘,结果用字符串的形式输出 详细描述: 接口说明 原型: void CalcNN(int n, char *pOut) 输入参数: int n 需要计算的阶乘数 输出参数: char *pOut 结算结果,内存由调用者负责管理 返回值: 无 限制: 无 举例: 题

告诉你:阿里巴巴的大数据有多可怕?

阿里巴巴在纽交所的成功上市,引发了互联网对阿里及马云的赞誉狂潮.而关于阿里的股权结构及其外企身份的讨论,则成为这场舆论狂欢中的一种异样的音调. 作为一位公共管理的研究者,我更喜欢从公共管理的视角来审视阿里巴巴的成长.在此,我只想谈一个问题:从国家的信息安全的角度看,阿里的大数据有多可怕. 先讲一个发生在美国的真实的故事:几年前,一个美国家庭收到了一家商场投送的关于孕妇用品的促销劵,由于很明显促销劵是冲着这个家庭中的那位16岁 女孩来的,女孩的父亲觉得受到了侮辱,于是怒气冲冲地找到了这家商场讨说法

大数据有多可怕?科学家成功在DNA上编写sql,或能实现永生

几年前,连研究人员都不愿使用DNA来存储数据,觉得这么做太超前了,不具有任何实用价值.而在前不久,科学家宣称可以使用合适的软件和生化模块来扩展PostgreSQL,并在DNA上运行SQL,一时间关于大数据与生命科学的讨论甚嚣尘上. 对大多数人而言,DNA数据存储是一项非常神奇的技术.在自然界,亿万年来,各种生物都是利用DNA携带的遗传信息来保证物种的繁衍生息.其实早在上世纪60年代,就有科学家提出了利用DNA存储信息的想法. 而现在,生命科学大数据整个话题已经火了很长时间了,小编也一直关注这方面

c#WEB转入大数据HADOOP平台的2014总结

浮浮沉沉的那是流水,起起落落的才是人生嘛. 抽根烟先--(各位同学都知道我不抽烟哈,这个,哈哈,思考人生的时候还是会抽根)刚刚和同学吃完饭从滨江路回来,我和他在一起一般都是谈谈自己的近况.我和他住得不远,上班离得很近,但是也不经常见面,但是需要对方的时候打个电话,总会在一个电话后及时出现在你的面前(搞得像基友一样,罪过,罪过).这个是必须的,我和他也算一种前世修来的缘份吧,认识马上快10年了,大学同学中,我是他在这里的唯一,他也是我在这里的唯一,也许这辈子剩下的时间还得走下去,生活中的坎坷我们互

首席工程师揭秘:LinkedIn大数据后台是如何运作的

原文转自:http://kb.cnblogs.com/page/518558/ 摘要:Jay Kreps是来自LinkedIn的首席工程师,他表示日志几乎在计算机产生的时候就存在,除了可用在分布式计算或者抽象分布式计算模型内部之外,还有广泛的用途.本文中他讲述的日志的原理和通过把日志用做单独服务来实现数据集成.实时数据处理以及分布式系统设计.文章内容非常干货,值得学习. 英文原文:The Log: What every software engineer should know about re

大数据时代,一个无比黑暗的时代

所有的讨论从一个笑话开始.讨论本身可能无意义,但是感觉这件事蛮有意思,那么记下来也就蛮有意义了. 某必胜客店的电话铃响了,客服人员拿起电话.客服:必胜客.您好,请问有什么需要我为您服务?顾客:你好,我想要一份……客服:先生,烦请先把您的会员卡号告诉我.顾客:16846146***.客服:陈先生,您好!您是住在泉州路一号12楼1205室,您家电话是2646****,您公司电话是4666****,您的手机是1391234****.请问您想用哪一个电话付费?顾客:你为什么知道我所有的电话号码?客服:陈

大数据让生活更加糟糕

之前参加过很多大数据相关的会议和活动,人声鼎沸百家争鸣,各行各业专家们在描绘蓝图的同时也在不停地反思,技术发展得这么快,我们却是那么地被动,我们还没有用上云计算和物联网,大数据就开始招摇过市了,手里的5S才用了不到一年,6和6PLUS就要上市了,社会越来越喜欢大,越来越强调大,大时代大思维大网络大屏幕大数据大变革大机遇--一边是搞大概念大发展,一边是暴雨后城市成汪洋,人们生活和生命受到威胁甚至伤害,表面上看我们发展得很快很快,林立的摩天大楼下面是车水马龙光怪陆离,很多城市都在大张旗鼓搞智慧城市,

大数据要来了?

毫无疑问,最近几年世界发生了翻天覆地的变化,国外的事我这个井底之蛙不知道,单看中国这几年的发展已经很不得了. 从台式机到笔记本,从笔记本到平板电脑,从平板到手机,从手机要转向更小的手表,眼镜.从C2C到B2C到B2B,从开始的只有几家快递公司到现在谁都基本不在乎发的那家快递,甚至商家有自己的快递.短短几年,发展好快. 我们并没有刻意的创造奇迹,但是从人类历史上看,这短短的几年不得不说是人类文明加速发展的起点.而接下来科技要走向何处,科技如何改变世界,值得期待. 大数据来了,很多人依旧不能理解,甚

七牛云大数据平台建设实践

2017 年 1 月 14.15日,为期 2 天的 ECUG Con 十周年大会在深圳圆满结束,会上七牛云 CEO 许式伟做了题为<七牛大数据平台建设实践>的演讲,首次披露七牛云在大数据方向的产品思路,以下是对他本次的演讲实录. 许式伟 七牛云创始人.CEO 从连接到智能 我们都说现在是移动互联网时代,移动互联网时代我们随时随地能够上网,面向连接的革命诞生了很多有意思的应用,包括滴滴打车.外卖,这些都是在连接的时效性基础上做的应用.在有关于连接的革命以后,下一个阶段就是面向智能的革命.滴滴打车