小编Ahm*_*rek的帖子

求 0 到 125 之间数字的立方根

我正在尝试编写一个函数的 C 代码,该函数接受一个整数从0to125并仅当它是整数( 1,2,3,4,5 )时才返回该整数的立方根,如果不是整数,0则返回。所以我写了这段代码:

unsigned int cubic(unsigned int n) {
    if (n > 125)
        return 0;
    double root = pow(n, (1 / 3.));
    double rem = (double)(roundf(root)) - root;
    if (rem != 0)
        return 0;
    else
       return roundf(root);
}
Run Code Online (Sandbox Code Playgroud)

此函数适用于除 number64和之外的所有情况125。在这些情况下,它返回的0不是这些数字的立方根,分别是45。有人可以向我解释为什么会发生这种情况吗?

c precision cubic

3
推荐指数
1
解决办法
56
查看次数

标签 统计

c ×1

cubic ×1

precision ×1