解题思路:
高精度浮点运算一般用decimal库中的方法,标准库decimal的基本用法IDLE自带文档都有,可以很快翻到。按照题目控制好精度即可。对于0的情况要特殊处理。


注意事项:


参考代码:

import decimal

a, q = decimal.Decimal(3.0 * 1e-23), decimal.Decimal(9.50 * 1e2)
m = decimal.Decimal(float(input()))
if m == 0:
    print("0.000000E+000")
else:
    res = decimal.Context(prec=7, Emax=999, clamp=0).\
        create_decimal(decimal.Decimal(m * q / a))
    res_temp = str(res).split('+')
    if len(res_temp) != 2:
        res_temp = str(res).split('-')
        print(res_temp[0] + '-' + (3 - len(res_temp[1])) * '0' + res_temp[1])
    else:
        print(res_temp[0] + '+' + (3 - len(res_temp[1])) * '0' + res_temp[1])


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区