您的位置:首页 > 其它

第k个数

2016-07-04 23:36 260 查看

题目描述

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

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

测试样例:
<span style="font-size:18px;">3</span>
返回:
<span style="font-size:18px;">7</span>

某些数仅仅是由素因子3、5、7构成的,例如:3、5、7、9...等等。但是:30,并不是,因为它包括了2;

那么仅仅使用循环来判断就可以了。

public class KthNumber {
public int findKth(int k) {
// write code here
int i = 3;
int count = 0;
while(count < k){
if(i % 2 != 0){
int b = i;
while(b % 3 == 0||b % 5 == 0||b % 7 == 0){
if(b % 3 == 0){
b = b / 3;
}else if(b % 5 == 0){
b = b / 5;
}else if(b % 7 == 0){
b = b / 7;
}
if(b == 1){
count ++;
}
}
}
i++;
}
return --i;
}
}


    测试数据地址: http://www.nowcoder.com/practice/d5e776441a6e41ae9f9859413bdc1eca?tpId=8&tqId=11031&rp=3&ru=/ta/cracking-the-coding-interview&qru=/ta/cracking-the-coding-interview/question-ranking
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息