小编kil*_*ile的帖子

为什么10位数字会变成9,999,999,999?

这是我获取 2 根的代码

#include <stdio.h>
unsigned long long root(int n);
int main()
{
    int n,i;
    unsigned long long c;
    n=10;
    for(i=1;i<=n;i++)
    {
        c=root(i);
        printf("%d decimal digits:%llu\n",i,c);
    }
    return 0;
}

unsigned long long root(int n)
{   unsigned long long int m,d;
    d=pow(10,n);
    m=2*pow(10,2*n);
    while (pow(d,2)<=m)
    {
        d++;
    }
    return d-1;

}
Run Code Online (Sandbox Code Playgroud)

Unsigned long long int 可以支持从 0 到 $2^64-1$。我认为这足以计算 10 位小数。

我希望 10 位十进制的输出应该是14142135623

c

0
推荐指数
1
解决办法
55
查看次数

标签 统计

c ×1