
题目
解决代码及点评
/* 我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。例如 6、8 都是丑数, 但 14 不是,因为它包含因子 7。习惯上我们把 1 当做是第一个丑数。求按从小到大的顺序 的第 1500 个丑数。 */ #include <iostream> using namespace std; bool IsUgly(int nNum) { while (nNum % 2 == 0) { nNum /= 2; } while (nNum % 3 == 0) { nNum /= 3; } while (nNum % 5 == 0) { nNum /= 5; } if (nNum == 1) { return true; } else { return false; } } // 寻找丑数 int GetUglyNum(int nMaxNum) { int i = 1; int nCount = 0; // 简单的循环,判断 while (nCount < nMaxNum) { i++; // 判断是不是丑数 if (IsUgly(i)) { //cout<<i<<" "; nCount++; } } return i; } int main() { cout<<endl<<GetUglyNum(150)<<endl; system("pause"); return 0; }
代码下载及其运行
代码下载地址:http://download.csdn.net/detail/yincheng01/6704519
解压密码:c.itcast.cn
下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:
1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”
2)在下拉框中选择相应项目,项目名和博客编号一致
3)点击“本地Windows调试器”运行
程序运行结果