Skip to content
Related Articles

Related Articles

Minimum numbers (smaller than or equal to N) with sum S
  • Difficulty Level : Easy
  • Last Updated : 03 Dec, 2018

Given N numbers(1, 2, 3, ….N) and a number S. The task is to print the minimum number of numbers that sum up to give S.

Examples:

Input: N = 5, S = 11
Output: 3
Three numbers (smaller than or equal to N) can be any of the given combinations.
(3, 4, 4)
(2, 4, 5)
(1, 5, 5)
(3, 3, 5)

Input: N = 1, S = 10
Output: 10

Approach: Greedily we choose N as many times we can, and then if anything less than N is left we will choose that number which adds up to give S, hence the total number of numbers are (S/N) + 1(if S%N>0).



Below is the implementation of the above approach.

C++




// C++ program to find the minimum numbers
// required to get to S
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the minimum
// numbers required to get to S
int minimumNumbers(int n, int s)
{
    if (s % n)
        return s / n + 1;
    else
        return s / n;
}
  
// Driver Code
int main()
{
    int n = 5;
    int s = 11;
    cout << minimumNumbers(n, s);
    return 0;
}

Java




// Java program to find the minimum numbers
// required to get to S
import java.io.*;
  
class GFG {
      
  
// Function to find the minimum
// numbers required to get to S
static int minimumNumbers(int n, int s)
{
    if ((s % n)>0)
        return s / n + 1;
    else
        return s / n;
}
  
// Driver Code
  
    public static void main (String[] args) {
        int n = 5;
    int s = 11;
    System.out.println(minimumNumbers(n, s));
    }
}
// This code is contributed by shs..

Python 3




# Python 3 program to find the 
# minimum numbers required to get to S
  
# Function to find the minimum
# numbers required to get to S
def minimumNumbers(n, s):
  
    if (s % n):
        return s / n + 1;
    else:
        return s / n;
  
# Driver Code
n = 5;
s = 11;
print(int(minimumNumbers(n, s)));
  
# This code is contributed 
# by Shivi_Aggarwal

C#




// C# program to find the minimum numbers
// required to get to S
using System;
  
class GFG {
      
  
// Function to find the minimum
// numbers required to get to S
static int minimumNumbers(int n, int s)
{
    if ((s % n)>0)
        return s / n + 1;
    else
        return s / n;
}
  
// Driver Code
  
    public static void Main () {
        int n = 5;
    int s = 11;
    Console.WriteLine(minimumNumbers(n, s));
    }
}
// This code is contributed by shs..

PHP




<?php
// PHP program to find the minimum numbers
// required to get to S
  
// Function to find the minimum
// numbers required to get to S
function minimumNumbers($n, $s)
{
    if ($s % $n)
        return round($s / $n + 1);
    else
        return round($s /$n);
}
  
// Driver Code
$n = 5;
$s = 11;
echo minimumNumbers($n, $s);
  
// This code is contributed by shs..
?>
Output:
3

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :