丑数应该叫美数,即这个数仅有个别几个因数。
比如我们想直到仅含有3,5,7构成的因数组成的数字。
#include<iostream>
using namespace std;
int main()
{
int i, j, k;
int num = 0;
long long x = 59084709587505;
for (i = 0; pow(3, i) <= x; i++)
for (j = 0; pow(5, j) <= x; j++)
for (k = 0; pow(7, k) <= x; k++)
{
if (pow(3, i) * pow(5, j) * pow(7, k) <= x)
{
num++;
}
}
printf("%d", num - 1);//其中i,j,k都为0时不符合要求,要减去1
return 0;
}