📌  相关文章
📜  小于或等于N且可被K整除的最大数字

📅  最后修改于: 2021-04-23 15:39:07             🧑  作者: Mango

给定数字N和数字K,任务是找到小于或等于N且可被K整除的最大数字。
例子:

Input: N = 45, K = 6
Output: 42
42 is the largest number smaller than 
or equal to 45 which is divisible by 6.

Input: N = 11, K = 3
Output: 9

方法:想法是将N除以K。如果余数为0,则打印N,否则打印N –余数
下面是上述方法的实现:

C++
// C++ implementation of the above approach
#include 
using namespace std;
 
// Function to find the largest number
// smaller than or equal to N
// that is divisible by k
int findNum(int N, int K)
{
    int rem = N % K;
 
    if (rem == 0)
        return N;
    else
        return N - rem;
}
 
// Driver code
int main()
{
    int N = 45, K = 6;
 
    cout << "Largest number smaller than or equal to "<< N
         << "\nthat is divisible by "<< K  << " is " << findNum(N, K);
 
    return 0;
}


Java
// Java implementation of the
// above approach
import java.lang.*;
import java.util.*;
 
class GFG
{
// Function to find the largest number
// smaller than or equal to N
// that is divisible by k
static int findNum(int N, int K)
{
    int rem = N % K;
 
    if (rem == 0)
        return N;
    else
        return N - rem;
}
 
// Driver code
public static void main(String args[])
{
    int N = 45, K = 6;
 
    System.out.print("Largest number smaller " +
                       "than or equal to " + N +
                 "\nthat is divisible by " + K +
                        " is " + findNum(N, K));
}
}
 
// This code is contributed
// by Akanksha Rai(Abby_akku)


Python3
# Python3 implementation of the above approach
 
# Function to find the largest number smaller
# than or equal to N that is divisible by k
def findNum(N, K):
      
    rem = N % K
    if(rem == 0):
        return N
    else:
        return N - rem
 
# Driver code
if __name__=='__main__':
     
    N = 45
    K = 6
    print("Largest number smaller than or equal to" +
           str(N) + "that is divisible by" + str(K) +
                                "is", findNum(N, K))
 
# This code is contributed by
# Kirti_Mangal


C#
// C# implementation of the above approach
using System;
 
class GFG
{
// Function to find the largest number
// smaller than or equal to N
// that is divisible by k
static int findNum(int N, int K)
{
    int rem = N % K;
 
    if (rem == 0)
        return N;
    else
        return N - rem;
}
 
// Driver code
public static void Main()
{
    int N = 45, K = 6;
 
    Console.Write("Largest number smaller " +
                     "than or equal to "+ N +
               "\nthat is divisible by "+ K +
                     " is " + findNum(N, K));
}
}
 
// This code is contributed
// by Akanksha Rai(Abby_akku)


PHP


输出:
Largest number smaller than or equal to 45
that is divisible by 6 is 42

时间复杂度: O(1)

辅助空间: O(1)