骚操作:求一个数的位数的小技巧

众所周知,如果要求一个特别特别大的数的位数,第一时间想到的就是用for,这种方法比较朴素,在某些特定的题中会爆掉long long(详情请见洛谷P2759 奇怪的函数,此题需要求x的x次方是多少位数,果断爆long long,会wa的,不要问我是怎么知道的qwq)。

所以!

下面为大家介绍一个小技巧,可以轻松解决这个问题:

log10(x)就是x的位数!

以10为底的对数,就可以求x的位数!(需要开#include<cmath>库,这个算数学函数)

附加:如果是洛谷P2759 奇怪的函数这道题,求x的x次方,就可以从log10(xx)变为x*log10(x),完美解决了爆long long的问题[手动滑稽]。

end.谢谢阅读

猜你喜欢

转载自www.cnblogs.com/lcccAngelo/p/9899830.html
今日推荐