LeetCode 263[丑数]
1.LeetCode1480[一维数组的动态和]2.LeetCode1342[将数字变成0的操作次数]3.LeetCode1672[最富有客户的资产总量]4.LeetCode412[Fizz Buzz]5.LeetCode9[回文数]6.LeetCode3264[K次乘运算后的最终数组I]7.LeetCode3270[求出数字答案]8.LeetCode LCR135[报数]9.LeetCode 1137[第N个泰波那契数]10.LeetCode 2535[数组元素和与数字和的绝对差值]11.LeetCode 2544[交替数字和]12.LeetCode 171[Excel表列序号]13.LeetCode 3014[输入单词需要的最少按键次数I]14.LeetCode 面试题16.07[最大数值]15.LeetCode 13[罗马数字转整数]16.LeetCode 836[矩形重叠]17.LeetCode 69[x的平方根]18.LeetCode 1103[分糖果II]19.LeetCode 2235[两整数相加]20.LeetCode 2769[找出最大的可达成数字]21.LeetCode 1290[二进制链表转整数]22.LeetCode 2455[可被三整除的偶数平均值]23.LeetCode 492[构造矩形]24.LeetCode 1812[判断国际象棋棋盘中一个格子的颜色]25.LeetCode 1837[K进制表示下的各位数字总和]26.LeetCode 367[有效的完全平方数]27.LeetCode LCP17[速算机器人]28.LeetCode 2413[最小偶倍数]29.LeetCode 66[加一]30.LeetCode 509[斐波那契数]31.LeetCode LCR126[斐波那契数]32.LeetCode LCR072[x的平方根]
33.LeetCode 263[丑数]
34.LeetCode 762[二进制表示中质数个计算置位]题目
链接
详情
实例
提示
题解
思考
题目对丑数的定义:只包含质因数2、3、5的正整数
条件一:只包含质因数2、3、5
条件二:正整数
对于条件二很好筛选:如果给定值 n 小于 1 ,即给定值为 0 或者是负数,此时条件二不满足,则返回 false
该部分的代码实现如下:
if (n < 1)//0或负数则不是丑数,直接返回
return false;
对于条件一的筛选,此处我是选择循环整除,即在一次循环内判断能否被2、3、5至少一个整除:
由于在进行条件二的筛选后,n 的值限定在 >= 1 内
此处我采用的是 while 循环,循环进行的条件是 n > 1,故当 n == 1时, 退出循环
该部分代码实现如下:
while (n > 1)//如果是丑数,则最后可以整除,整除完毕最后 n 为 1,则退出循环返回true
{
...
}
循环体:
首先定义了一个布偶型变量 isBool 来记录该数在此轮循环内是否可能为丑数,默认值为 false,
该部分代码实现如下:
bool isBool = false;//初始值为false,默认不是丑数
判断能否被5整除,如果能被5整除则,可能是丑数,此时 isBool 应该为 true
该部分代码实现如下:
if ((0 == (n % 10)) || (5 == (n % 10)))
{
n = n / 5;
isBool = true;//能被5整除,则可能是丑数
}
判断能否被2整除,如果能被2整除,可能是丑数,此时 isBool 应该为 true
该部分代码实现如下:
if (0 == (n % 2))
{
n = n / 2;
isBool = true;//能被2整除,则可能是丑数
}
判断能否被3整除,如果能被3整除,可能是丑数,此时 isBool 应该为 true
该部分代码实现如下:
if (0 == (n % 3))
{
n = n / 3;
isBool = true;//能被3整除,则可能是丑数
}
如果,既不能被2整除,也不能被3整除,还不能被5整除,则以上分支都进不去,则 isBool 依旧是 false,此时,这个数就一定不是丑数了,则直接返回 false
该部分代码实现如下:
//既不能被5整除,也不能被2整除,还不能被3整除,则不是丑数,直接返回
if (!isBool)
return false;
如果,能被2、3、5至少一个整除,则可能是丑数,继续下一次循环
如果该数是丑数,则一直能被2、3、5至少一个整除,则最后 n 为 1 ,退出循环,返回 true
代码
本文来自博客园,作者:EricsT,转载请注明原文链接:https://www.cnblogs.com/EricsT/p/18591882
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇