题目描述
只包含因子2,3,5的正整数被称作丑数,比如4,10,12都是丑数,而7,23,111则不是丑数,另外1也不是丑数。请编写一个函数,输入一个整数n,能够判断该整数是否为丑数,如果是,则输出True,否则输出False。
输入描述
每行输入一个正整数 n
1 <= n<= 1000000
输出描述
对于每一行输入,输出其是否为丑数,是则输出True,否则输出False
#include <iostream>
using namespace std;
int judge(int n)
{
if (n == 1)
{
return 1;
}
else if (n % 2 == 0)
{
n = n / 2;
return judge(n);
}
else if (n % 3 == 0)
{
n = n / 3;
return judge(n);
}
else if (n % 5 == 0)
{
n = n / 5;
return judge(n);
}
else
{
return 0;
}
}
bool factor(int n)
{
if (n == 1)
{
return false;
}
else
{
if (judge(n))
{
return true;
}
else
{
return false;
}
}
}
int main()
{
int n, result;
cin >> n;
if (factor(n))
{
cout << "True";
}
else
{
cout << "False";
}
}