- 题目描述: 牛牛有两个数a和b,他想找到一个大于a且为b的倍数的最小整数,只不过他算数没学好,不知道该怎么做,现在他想请你帮忙。 给定两个数a和b,返回大于a且为b的倍数的最小整数。

- 题目链接: https://www.nowcoder.com/practice/a1b7ac9efd294c798b35750a1d82daee?tpId=196&&tqId=37668&rp=1&ru=/ta/job-code-total&qru=/ta/job-code-total/question-ranking

- 设计思想:

alt

-视频讲解链接B站视频讲解

- 复杂度分析: alt - 代码: c++版本:

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 给定两个数a和b,返回大于a且为b的倍数的最小整数。​
     * @param a int整型 代表题目中描述的a
     * @param b int整型 代表题目中描述的b
     * @return int整型
     */
     /* 设b的n倍为大于a的最小值
     * 结果 = nb > a
     * 则有n > a / b,因为要找到一个大于a / b的最小整数,则 n = a / b + 1
     * 则得出结果:nb = (a / b + 1) * b;
     */
    int findNumber(int a, int b) {
        // write code here
        return (a / b + 1)* b;
    }
};

Java版本:

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 给定两个数a和b,返回大于a且为b的倍数的最小整数。​
     * @param a int整型 代表题目中描述的a
     * @param b int整型 代表题目中描述的b
     * @return int整型
     */
    public int findNumber (int a, int b) {
        // write code here
        return (a / b + 1)* b;
    }
}

Python版本:

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 给定两个数a和b,返回大于a且为b的倍数的最小整数。​
# @param a int整型 代表题目中描述的a
# @param b int整型 代表题目中描述的b
# @return int整型
#
class Solution:
    def findNumber(self , a , b ):
        # write code here
        return (a / b + 1)* b;

JavaScript版本:

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 给定两个数a和b,返回大于a且为b的倍数的最小整数。​
 * @param a int整型 代表题目中描述的a
 * @param b int整型 代表题目中描述的b
 * @return int整型
 */
function findNumber( a ,  b ) {
    // write code here
    return (parseInt(a / b) + 1)* b;
}
module.exports = {
    findNumber : findNumber
};