素数判断java基础

素数判断java基础题目上说了尽量不要使用循环或者递归 amp xff0c 于是想到了之前做过的判断一个数是不是 2 的幂次方 amp xff0c 因此 amp xff0c 我们看一哈有没有相似性 4 的幂次方一定是 2 的幂次方 amp xff0c 但是反过来却不成立 例如 amp xff0c 8 是 2 的 3 次方 amp xff0c 但并不是 4 的幂次方 1 转成 2 进制是 1 amp xff1b 4 转成 2 进制是 100 amp xff1b

大家好,我是讯享网,很高兴认识大家。



题目上说了尽量不要使用循环或者递归,于是想到了之前做过的判断一个数是不是2的幂次方,因此,我们看一哈有没有相似性。

4的幂次方一定是2的幂次方,但是反过来却不成立。例如,8是2的3次方,但并不是4的幂次方。

1转成2进制是1;

4转成2进制是100;

6转成2进制是110;

8转成2进制是1000;

16转成2进制是10000;

判断一个数是不是2的幂次方,我们要看这个数转成2进制后是不是所有位数只有1个1。

那4的幂次方的规律就是看这个数转成2进制后是不是所有位数只有1个1,并且这个1只能在奇数位上出现。素数判断java基础

code:

class Solution {

public:

bool isPowerOfFour(int num) {

if(num == 1) return true;

if(num <&#61; 3) return false;

int count &#61; 0;

int i &#61; 1;

while(num !&#61; 0){

if((num&1) !&#61; 0 && (i&1) !&#61; 0){

count&#43;&#43;;

}

if((i&1) &#61;&#61; 0 && (num&1) !&#61; 0){

return false;

}

num>>&#61;1;

i&#43;&#43;;

}

if(count &#61;&#61; 1)

return true;

return false;

}

};

小讯
上一篇 2024-12-24 22:23
下一篇 2024-12-29 16:00

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/3835.html