题解 | #牛牛的因子大挑战#

牛牛的因子大挑战

https://www.nowcoder.com/practice/86ad7188320246cfbd6012ef905203f3

1.考察知识点:

数组

2.编程语言:

C++

3.解题思路:

首先,定义数组保存因子

n的因子肯定是在[1,n]区间里,因此直接遍历判断是否为因子,将因子添加到vector数组中

最后处理特殊情况,并将第K个因子返回即可。

4.完整代码:

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @param k int整型 
     * @return int整型
     */
    int findKthFactor(int n, int k) {
        // write code here
        //定义数组保存因子
        vector<int> res;
        for(int i=1;i<=n;i++)
        {
            //n的因子肯定是在[1,n]区间里
            //直接遍历,将因子添加到vector数组中
            if(n%i==0)
            {
                res.push_back(i);
            }
        }
        //针对特殊情况进行处理
        if(k>res.size())
        {
            return -1;
        }
        return res[k-1];
    }
};

全部评论

相关推荐

头像
11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务