相关疑难解决方法(0)

SPOJ`CUBERT`中的错误答案

我在SPOJ上找到了解决这个问题错误答案.

该问题要求计算整数的立方根(可以长达150位),并输出截断最多10位小数的答案.
它还要求将答案模10中所有数字的总和计算为"校验和"值.

这是确切的问题陈述:

您的任务是计算给定正整数的立方根.我们不记得为什么我们需要这个,但它与公主,一个年轻的农民,亲吻和一半的王国(一个巨大的,我们可以向你保证)有一些共同之处.

编写一个程序来解决这个关键任务.

输入

输入以包含单个整数t <= 20(测试用例数)的行开头.t测试案例如下.

下一行包含最多150个十进制数字的大正整数.每个数字都在输入文件的单独行中.输入文件可能包含空行.数字可以在空格之前或之后,但没有行超过255个字符.

产量

对于输入文件中的每个数字,程序应输出一行,其中包含由单个空格分隔的两个值.第二个值是给定数字的立方根,在第10个小数位后截断(不是舍入!).第一个值是立方根的所有打印数字的校验和,计算为模10的打印数字之和.

输入:
5
1

8

1000

2 33076161

输出:
1 1.0000000000
2 2.0000000000
1 10.0000000000
0 1.2599210498
6 321.0000000000

这是我的解决方案:

from math import pow


def foo(num):
    num_cube_root = pow(num, 1.0 / 3)
    # First round upto 11 decimal places
    num_cube_root = "%.11f" % (num_cube_root)
    # Then remove the last decimal digit
    # to achieve a truncation of 10 decimal places
    num_cube_root …
Run Code Online (Sandbox Code Playgroud)

python math floating-point precision python-3.x

-1
推荐指数
1
解决办法
730
查看次数

标签 统计

floating-point ×1

math ×1

precision ×1

python ×1

python-3.x ×1