• 生活小妙招免费各类生活中的小问题知识以及音乐简谱等,是你了解世界未知知识的好地方。

编程求一个正整数有几位,最快的方法是什么?

十万个为什么 空空 2024-5-27 16:07:11 10次浏览

关于问题编程求一个正整数有几位,最快的方法是什么?一共有 5 位热心网友为你解答:

【1】、来自网友【冰日暖阳】的最佳回答:

1、用 10 的次方比较

2、转换成科学计数法,直接取

【2】、来自网友【闲着聊聊天呀】的最佳回答:

很简单,一个语句搞定。先将正整数转换为字符串,再求字符串长度即可。如下所示:

len(str(m))

【3】、来自网友【散居猎人】的最佳回答:

function fnum(x:integer): integer

fnum:=integer(log(x))+1;

逐次比较方法可以优化。

1.把 1..10 的 15 次方存入数组,数组下标就是 10 的幂次,num[0]=1,num[1]=10…

2.在 1..15 之间用二分法搜索

递归函数或递推实现

如果大于 1,小于 15

判断 8,如果合适,返回。

如果小于 8,在 1..8 之间搜索

如果大于 8,在 8..15 之间搜索

【4】、来自网友【帖木兒】的最佳回答:

int Digits(int n) {

static const int M[]={

10,100,1000,10000,

100000,1000000,10000000,100000000,

1000000000};

int i;

if(n<M[1]) i=0;

else {

i=(n<M[5]) ? 3 : 7;

if(n<M[i]) i–; else i ++;

}

return (n<M[i]) ? i+1 : i+2;

}

【5】、来自网友【大自然的小学生】的最佳回答:

求 10 为底的对数

以上就是关于问题【编程求一个正整数有几位,最快的方法是什么?】的全部回答,希望能对大家有所帮助,内容收集于网络仅供参考,如要实行请慎重,任何后果与本站无关!

喜欢 (0)