C++ 在抛出';std::超出范围';什么():斯托尔 int解决方案::电源(字符串A){ 如果(A==“1”),则返回0; 如果(A=“2”)返回1; long int no=std::stoll(A); 如果(否%2!=0)返回0; no=no/2; 细流ss; ss>A; 返回功率(A); }
查找给定的数字是否为2的幂。 更具体地说,查找给定的数字是否可以表示为2^k,其中k>=1 答:“147573952589676412928”测试用例未通过 在抛出'std::out_of_range'的实例后调用terminateC++ 在抛出';std::超出范围';什么():斯托尔 int解决方案::电源(字符串A){ 如果(A==“1”),则返回0; 如果(A=“2”)返回1; long int no=std::stoll(A); 如果(否%2!=0)返回0; no=no/2; 细流ss; ss>A; 返回功率(A); },c++,string,C++,String,查找给定的数字是否为2的幂。 更具体地说,查找给定的数字是否可以表示为2^k,其中k>=1 答:“147573952589676412928”测试用例未通过 在抛出'std::out_of_range'的实例后调用terminate what():stoll这个数字不适合long。 int Solution::power(string A) { if(A=="1") return 0; if(A=="2") return 1; lo
what():stoll这个数字不适合
long
。
int Solution::power(string A) {
if(A=="1") return 0;
if(A=="2") return 1;
long long int no =std::stoll(A);
if(no%2 != 0) return 0;
no = no/2;
stringstream ss;
ss << no;
ss >> A;
return power(A);
}