永发信息网

c++如何存入很大的数

答案:3  悬赏:30  手机版
解决时间 2021-01-04 04:32
c++如何将一个计算得到的一个很大的整数存入变量中,比如是一个60位的整数,不用科学计数法。

Description
用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1。
Input
只有一行,一个正整数n。
Output
只有一行,一个正整数S。
Sample Input
48
Sample Output
12678163798554051767172643373255731925167694226950680420940313
最佳答案
自定义字节型对象。将60位数的16进制以字节方式存储。你要自己实现所有的运算符操作。也就是你自己定义一种BigLang类型,然后什么加减乘除,全部靠对这个对象重载操作符或者实现方法来完成。你得有个预估,比如你这个60位长的10进制数,一般运算要多少个字节来存放他的2进制。统一成一种类型。超过二进制32位的话。它的加减乘除等等一些运算你都得拆分分部自己写算法完成。
全部回答
一般的作法是自己做一个高精度类型,用字符串或者整形数组来存储,再自己写运算的函数。 如果要多次使用的话可以考虑封闭成一个类,把常用的运算符都重载一下。
不可能实现的,c和c++中最大表示的就是long double数据类型了 要实现很大的数字 要么定义一个结构体(或者类)来以数组的形式从高位到低位保存 要么定义一个结构体(或者类)来以数组的形式保存科学计数法的数值部分和次方部分
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从华中农业大学里面的湖北生物科技学院到华中
剥洋葱是什么意思
解答题在多哈亚运会上,刘翔──“中国大众的
这两天为什么修改不了学信网手机号码?
Ericplayscomputergames A.goodB.wellC
水城是哪个城市的别称
如图,已知直线AB∥CD,直线EF截AB、CD于E、F
Asaresultof__isnowknowninphysicsandchemist
单选题作家、作品、朝代或国籍搭配有误的一项
在下列情况中,机械能守恒的是A.作自由落体运
微信上表情符号筛子是什么意思?
单选题下列叙述正确的是:A.地表形态是内外力
没开完的发票三证合一后怎么作废
作文(50分)阅读下面的文字,按要求作文。河
无线网卡是什么?无线上网卡?
推荐资讯
一级用英文怎么说
根据提示补写名句或填写课文原句。【小题1】
手机怎么添加无线网络
单选题下列各数中,与9互质的合数是A.11B.12C
康顺园社区居委会在什么地方啊,我要处理点事
(1)如图甲所示,用竖直悬挂的泡沫塑料球接
结婚封箱封条怎么写
请问行使证过期年审会罚款吗?
浓阴的近义词
单选题方程“9x-5x=30”的解是A.x=7.5B.x=4.8
C#如何获取照片的存储大小
营口市盖州市太阳升中心派出所办公位置在哪啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?