题目

有一些数的素因子只有3、5、7,请设计一个算法,找出其中的第k个数。

给定一个数int k,请返回第k个数。保证k小于等于100。

测试样例:

3
返回:7

解法

主要就是在于isPrime这个函数的判断上,只能有3、5、7这三个素因子,不能有11这样的;所以就可以建立一个循环来判断,首先肯定不会为偶数,偶数全部排除。在奇数中,如果有3这个因子,就先x=x/3,因子5、7也是同样的方法,如果除之后发现x为1了说明确实只有3、5、7因子中的一个或几个;但如果发现除了一圈下来还是原来的数,就说明肯定有其他因子,返回false。代码如下:

class KthNumber {
public:
bool isPrime(int x)
{
if(x%2==0)
return false;
else{
while(1)
{
int temp=x;
if(x%3==0) x=x/3;
if(x%5==0) x=x/5;
if(x%7==0) x=x/7;
if(x==1) return true;
if(x==temp)
return false;
}
}
} int findKth(int k) {
// write code here
int i=0,j=3;
while(i!=k)
{
if(isPrime(j))
i++;
j++;
}
j--;
return j;
}
};

最新文章

  1. jQuery:提交表单前判断表单是否被修改过
  2. LintCode Binary Tree Paths
  3. SQL2008数据库优化常用脚本
  4. log4j中文乱码解决方案
  5. linux中Zabbix邮件报警设置配置步骤
  6. HDU 4617 Weapon 三维计算几何
  7. NOIP2006 2k进制数
  8. C# winCE连接SQL数据库
  9. 【转】windows下vs2008/2010+opencv2.2开发环境搭建
  10. Oops信息及栈回溯
  11. UVALive - 3026 Period kmp next数组的应用
  12. Dockerfile注意事项
  13. Wamp之mysql密码故事
  14. 【译】索引进阶(十一):SQL SERVER中的索引碎片【上篇】
  15. C# listview展示表格格式
  16. python之psutil模块(获取系统性能数据)
  17. 计算机基础-CPU
  18. express工程的优化和请求参数的处理
  19. 如何查看Isilon的节点的CPU的信息?
  20. [LeetCode] 312. Burst Balloons_hard tag: 区间Dynamic Programming

热门文章

  1. Hadoop- Wordcount程序原理及代码实现
  2. EOF的使用
  3. 华为机试 可怕的N阶乘
  4. leetcode 66. Plus One(高精度加法)
  5. leetcode 110 Balanced Binary Tree(DFS)
  6. Maven-将jar包安装到本地仓库
  7. Mac替换sublime图标
  8. 六 Vue学习 首页 (下)
  9. 生成分布式随机ID
  10. 如何用CSS实现矩形按钮右边缘的中间有个往里凹的小半圆