早教吧作业答案频道 -->其他-->
在python中如何计算很长的一个整数乘以一个非常接近零的很小的一个数例如:a是长整数,b是浮点数a=3**123323b=0.13**324325求a*b,我算的是结果是0,我的意思是,a和b是从屏幕上输入的,因此b会被
题目详情
在python中如何计算很长的一个整数乘以一个非常接近零的很小的一个数
例如:a是长整数,b是浮点数
a=3**123323
b=0.13**324325
求 a*b,我算的是结果是0,
我的意思是,a和b是从屏幕上输入的,因此b会被认作0,怎样调节精度,使它可以被运算。我前面说的不清楚。
例如:a是长整数,b是浮点数
a=3**123323
b=0.13**324325
求 a*b,我算的是结果是0,
我的意思是,a和b是从屏幕上输入的,因此b会被认作0,怎样调节精度,使它可以被运算。我前面说的不清楚。
▼优质解答
答案和解析
python 3.2可以用内置的decimal高精度实数模块
# -*- coding:UTF-8 -*-
import decimal
decimal.getcontext().prec=200 #200数位精度
a=decimal.Decimal(3)**decimal.Decimal(123323)
b=decimal.Decimal('0.13')**decimal.Decimal('324325')
print('\t{}\n*\n\t{}\n=\n\t{}'.format(a,b,a*b))
输出
>>>
1.0580246667188824271913168051622395865019183845414805481031905972109045173989899823133323278995752527235304667074427574782893102545428586466473016751341295216536176276017699142425172412864417270258818E+58840
*
4.7614246375708084311798542896953748676842902955614645510524621531010498656287008792909075916910899666155420657277394271571681636228412127263118451395440991242288410666335749575430087463810155494163691E-287371
=
5.0377047152729301420944880198230739560889642797996835618622967033179721708732353839970371126283680796466358080919145363745004534970704032352604175204920473255485436558304392155356717364540080252448283E-228531
>>>
所谓“屏幕输入”,就是标准输入流输入,与大数都无关,属于基本数据操作.
a=decimal.Decimal(input("输入a:")); #所谓的屏幕输入
# -*- coding:UTF-8 -*-
import decimal
decimal.getcontext().prec=200 #200数位精度
a=decimal.Decimal(3)**decimal.Decimal(123323)
b=decimal.Decimal('0.13')**decimal.Decimal('324325')
print('\t{}\n*\n\t{}\n=\n\t{}'.format(a,b,a*b))
输出
>>>
1.0580246667188824271913168051622395865019183845414805481031905972109045173989899823133323278995752527235304667074427574782893102545428586466473016751341295216536176276017699142425172412864417270258818E+58840
*
4.7614246375708084311798542896953748676842902955614645510524621531010498656287008792909075916910899666155420657277394271571681636228412127263118451395440991242288410666335749575430087463810155494163691E-287371
=
5.0377047152729301420944880198230739560889642797996835618622967033179721708732353839970371126283680796466358080919145363745004534970704032352604175204920473255485436558304392155356717364540080252448283E-228531
>>>
所谓“屏幕输入”,就是标准输入流输入,与大数都无关,属于基本数据操作.
a=decimal.Decimal(input("输入a:")); #所谓的屏幕输入
看了 在python中如何计算很长...的网友还看了以下:
如何推导出a^3+b^3=(a+b)(a^2-ab+b^2).如何推导出a^3+b^3=(a+b) 2020-05-17 …
GRE作文低于3分还有戏吗?如果教授想要你,作文是障碍吗?我是学工科的,也不是没到三分。分数还没出 2020-06-18 …
(1/3)他很优秀,我高攀不起,我是如此的普通,而我们却阴差阳错地在一起了,他是第一次牵我手的人, 2020-06-19 …
求一道java代码设计题考虑方程式:a^3+b^3=c^3+d^3其中:“^”表示乘方.a、b、c 2020-07-17 …
写个java程序考虑方程式:a^3+b^3=c^3+d^3其中:"^"表示乘方.a、b、c、d是互 2020-07-17 …
算法时间复杂度的最高次幂项的系数很大怎么办假设时间复杂度多项式为a*n^3+b*n^2+c*n+d 2020-08-03 …
关于电子表函数求和:如:数量1单价1合价1数量2单价2合价2数量3单价3合价3.数量汇总合价汇总11 2020-11-01 …
一个困扰很久的问题:1+1=3的时候,3+3=?有很多人猜测是6或者9.1+1=3就是相当于现在的1 2020-11-04 …
时间很赶,1.设函数y=x^2-3|x-1|-1的图像与x轴的焦点个数有()A.1个B.2个C.3个 2020-11-10 …
世界人口分布及增长存在很大的地区差异,分析如表,完成第21-22题.国家人口密度出生率死亡率甲108 2020-11-11 …