寻找3的幂

编程入门 行业动态 更新时间:2024-10-28 06:30:42

寻找3的幂

寻找3的幂

目录

题目:

 题目接口:

题目思路:

第一点:

第二点:

第三点:

代码实现:

普通版本:

 提交:

 递归版本:

提交:

结语:


题目:

 在ledcode刷题网站上,有这样一道题-寻找3的幂:

 题目接口:

bool isPowerOfThree(int n){}

题目思路:

第一点:

因为题目中要求输入的是整数,整数分为负整数与正整数,负整数一定不是3的幂。并且在正负两种数之间的0也不是3的幂,所以小于1的整数不是3的幂。

第二点:

1是3的0次幂,所以在n==1时返回true。

第三点:

当n大于1时,如果n是3的幂则n是3的倍数,n/3也是3的倍数,n/3*3也是3的倍数,n/3*3*3也是3的倍数……,在经过许多个n/3以后,如果n变成了1那n就是3的幂,反之就不是。

代码实现:

普通版本:

bool isPowerOfThree(int n){if(n<1)return false;//小于1,return falseif(n==1)return true;//等于1,return tureif(n%3==0){//大于1并且为3的倍数那就进入循环int flag=1;//假设是3的幂while(n){n/=3;if(n%3!=0&&n>1){//当n>1并且n除于3以后不是3的倍数flag=0;//就不是3的幂,flag置为0}}if(flag)return true;}
return false;
}

 提交:

 递归版本:

bool isPowerOfThree(int n){if(n<1)return false;if(n==1)return true;
if(n%3==0){return isPowerOfThree( n/3);
}
return false;
}

递归算法的思路与普通版本的思路其实基本一样。

提交:

结语:

好了,小牛儿今天的分享就到这里了,如果有错误的话请多多指正。如果对你有帮助的话请给小牛儿点个赞加个关注吧,我会持续分享自己所学到的知识!!!

更多推荐

寻找3的幂

本文发布于:2023-06-30 16:35:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/963159.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!