寻找丑数
【面试题】我们把只含有因子2,3,5的数称为丑数(除了 1和他本身),例如 6 ,8都是丑数,而14不是丑数,因为他含有因子 7,通常把1也当做丑数,编程求出1500以内的所有丑数。
#include "stdio.h"
int isUglyNumber(int number)
{
while(number % 2 == 0) {
number /= 2;
}
while(number % 3 == 0) {
number /= 3;
}
while(number % 5 == 0) {
number /= 5;
}
return number == 1;
}
int printUglyNumbers2(int limit) {
int count = 0, i;
for (i = 1; i<=limit; i++) {
if (isUglyNumber(i)) {
count++;
printf("%5d",i);
}
}
return count;
}
void main() {
printf("\nThe count of ugly number below 1500 are %d\n", printUglyNumbers2(1500));
getchar();
}