微软等数据结构+算法面试100题(28)--丑数

题目:我们把只包含因子2、3 和5 的数称作丑数(Ugly Number)。例如6、8 都是丑数,
但14 不是,因为它包含因子7。习惯上我们把1 当做是第一个丑数。求按从小到大的顺序的第1500 个丑数。

 

[cpp] view plain copy
print ?
  1. //判断一个数是不是丑数  
  2. bool IsUglyNum(int n)  
  3. {  
  4.     while(n%2==0)  
  5.         n=n/2;  
  6.     while(n%3==0)  
  7.         n=n/3;  
  8.     while(n%5==0)  
  9.         n=n/5;  
  10.     return n==1?true:false;  
  11. }  
  12.   
  13. void ShowUglyNum()  
  14. {  
  15.     int count=0;  
  16.     int n=1;  
  17.     while(count<=100)  
  18.     {  
  19.         if(IsUglyNum(n))  
  20.         {  
  21.             cout<" ";  
  22.             count++;  
  23.         }  
  24.         n++;  
  25.     }  
  26. }  

你可能感兴趣的:(Android)