丑数定义:一个正整数的素因子只包含 2、3、5、7 四种(不同的题目可能包含的因子不同,有的只有2、3、5),则它被称为丑数。前 20 个丑数为1、2、3、4、5、6、7、8、9、10、12、14、15、16、18、20、21、24、25、27。习惯上我们把1当做是第一个丑数。
输入一个正整数 N,判断这个数是否为丑数。
#include<iostream>
using namespace std;
int main() {
int n;
while (cin >> n)
{
//输入的整数分别与 2、3、5、7 进行循环除法运算(
//如果取模运算为 0 的情况下),
//对于循环除法进行的先后没有严格要求(不影响结果)
if (n<=0){
return false;
}
while (n % 2 == 0)
n /= 2;
while (n % 3 == 0)
n /= 3;
while (n % 5 == 0)
n /= 5;
while (n % 7 == 0)
n /= 7;
if (n == 1)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
system("pause");
return 0;
}