leetcode 263 丑数 c# (数学)
程序员文章站
2024-01-04 12:20:34
...
当我拿到题目的时候,我考虑的是小范围的存储2、3、5 然后分别在除的时候对比,但是这道题的答案验证了我的思路有多么愚蠢。
只需要将这个数不断的取余,如果取余==0 ,除以被取余的数即可。
static void Main(string[] args)
{
int a = 14;
bool res = GetCS(a);
Console.Write(res);
Console.ReadKey();
}
#region 263. 丑数
private static bool GetCS(int a)
{
bool b =false;
while (a>=2&&a%2==0)
{
a = a / 2;
}
while (a >= 5 && a % 5 == 0)
{
a = a / 5;
}
while (a >= 3 && a % 3 == 0)
{
a = a / 3;
}
if (a==1)
{
b=true;
}
else
{
b = false;
}
return b;
}
#endregion