众所周知,如果要求一个特别特别大的数的位数,第一时间想到的就是用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.谢谢阅读