丑数判断
给你一个自然数n,请你判断 n 是否为丑数
丑数只包含质因数 2、3 或 5 的正整数,1默认为丑数
示例
-
输入:n = 6
输出:true
解释:6 = 2 × 3 -
输入:n = 8
输出:true
解释:8 = 2 × 2 × 2 -
输入:n = 14
输出:false
解释:14 不是丑数,因为它包含了另外一个质因数 7
#include <iostream>
using namespace std;
class divide{
public:
divide() {};
~divide() {};
int isdivide(int n,int m) {
while (n % m == 0) {
n /= m;
if (n == 0)return n;
}
return n;
}
};
int main()
{
int n;
cin >> n;
if (n < 1)return -1;
if (n == 1)
{
cout <<"1 是丑数" << endl;
return 1;
}
int res;
divide d;
res = d.isdivide(n, 2);
res = d.isdivide(n, 3);
res = d.isdivide(n, 5);
if (res == 0) {
cout << res << " 是丑数" << endl;
return 1;
}
else {
cout << res << " 不是丑数" << endl;
return -1;
}
}