今天有同学问我C++中有没有什么简单的办法可以求出两个数相加的和的位数,然后就有了如题的那种方法。
log10(100)的返回值就是2,log(999)的返回值是二点几,不过如果你把返回值定位int型它就会自动转换成2了。
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int a,b;
while(cin>>a>>b){
a=log10(a+b)+1;
cout<<a<<endl;
}
return 0;
}
初次之外还有log2()等函数,用log10l()和log10f()还可以满足不同的精度。
这样一来就不用用许多个for循环来解决了,虽然这一篇毕竟简单(毕竟水,逃……),不过希望可以帮到初学编程的朋友。
时间: 2024-10-31 17:11:51