相关疑难解决方法(0)

如何有效地检索数字的第一个十进制数字

一个明显的解决方案是

int n = 2134;
while(n > 9)
    n /= 10;
Run Code Online (Sandbox Code Playgroud)

这需要线性时间.我们可以做得更快吗?

这比线性时间快吗:

char s[100];
sprintf(s, "%d", n);
n = s[0]-'0';
Run Code Online (Sandbox Code Playgroud)

其他方式是什么(效率是首要考虑因素)?
我见过这个,除了我只需要找到第一个数字.(另外,我不明白答案).

c c++ algorithm

13
推荐指数
4
解决办法
2万
查看次数

取幂的前n位数

如何确定取幂的前n位数(a b).

eg: for a = 12, b = 13 & n = 4, the first 4 digits are 1069.
Run Code Online (Sandbox Code Playgroud)

c c++ math exponentiation

8
推荐指数
3
解决办法
2728
查看次数

标签 统计

c ×2

c++ ×2

algorithm ×1

exponentiation ×1

math ×1