c++コードは、所与の数字がブスであるか否かを判断する
タイトルの説明
因子2,3,5のみを含む正の整数を丑数と呼ぶ.例えば4,10,12は丑数であり、7,23111は丑数ではなく、1も丑数ではない.関数を作成して、整数nを入力して、その整数がブスかどうかを判断して、もしそうであればTrueを出力して、さもなくばFalseを出力します.
説明の入力
行ごとに正の整数nを入力
1 <= n<= 1000000
出力の説明
各行の入力に対して、出力がブスかどうか、YesであればTrueを出力し、そうでなければFalseを出力する
サンプル入力
サンプル出力このアルゴリズムは実質的にコード論理を用いて素因数分解を還元する全過程である.与えられた数値numが残りの2、3、5を0と等しい場合、numを表す因子は必ず2、3、5を含む. numを2、3、5で割ると1つの因子を分解するように表すことができ、num=1の場合、与えられた数字を表す因子は2、3、5しか含まれず、定義によってこの数が醜数であることがわかる.
因子2,3,5のみを含む正の整数を丑数と呼ぶ.例えば4,10,12は丑数であり、7,23111は丑数ではなく、1も丑数ではない.関数を作成して、整数nを入力して、その整数がブスかどうかを判断して、もしそうであればTrueを出力して、さもなくばFalseを出力します.
説明の入力
行ごとに正の整数nを入力
1 <= n<= 1000000
出力の説明
各行の入力に対して、出力がブスかどうか、YesであればTrueを出力し、そうでなければFalseを出力する
サンプル入力
4
7
12
サンプル出力
True
False
True
#include
using namespace std;
bool isUgly(int num) {
/* num 2 , 0;num/2 :2。
, num==1 , 2、3、5, */
while (num % 2 == 0)
num /= 2;
while (num % 3 == 0)
num /= 3;
while (num % 5 == 0)
num /= 5;
return num == 1 ? true : false;
}
int main() {
int num;
/* , */
while (true) {
cin >> num;
if (!num) {
break;
}
cout << (isUgly(num) ? "True" : "False") << "
";
}
system("pause");
return 0;
}