Minimum numbers (smaller than or equal to N) with sum S
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++
#include <bits/stdc++.h>
using namespace std;
int minimumNumbers( int n, int s)
{
if (s % n)
return s / n + 1;
else
return s / n;
}
int main()
{
int n = 5;
int s = 11;
cout << minimumNumbers(n, s);
return 0;
}
|
Java
import java.io.*;
class GFG {
static int minimumNumbers( int n, int s)
{
if ((s % n)> 0 )
return s / n + 1 ;
else
return s / n;
}
public static void main (String[] args) {
int n = 5 ;
int s = 11 ;
System.out.println(minimumNumbers(n, s));
}
}
|
Python 3
def minimumNumbers(n, s):
if (s % n):
return s / n + 1 ;
else :
return s / n;
n = 5 ;
s = 11 ;
print ( int (minimumNumbers(n, s)));
|
C#
using System;
class GFG {
static int minimumNumbers( int n, int s)
{
if ((s % n)>0)
return s / n + 1;
else
return s / n;
}
public static void Main () {
int n = 5;
int s = 11;
Console.WriteLine(minimumNumbers(n, s));
}
}
|
PHP
<?php
function minimumNumbers( $n , $s )
{
if ( $s % $n )
return round ( $s / $n + 1);
else
return round ( $s / $n );
}
$n = 5;
$s = 11;
echo minimumNumbers( $n , $s );
?>
|
Javascript
<script>
function minimumNumbers(n, s)
{
if (s % n)
return parseInt(s / n) + 1;
else
return parseInt(s / n);
}
let n = 5;
let s = 11;
document.write(minimumNumbers(n, s));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1), since no extra space has been taken.
Last Updated :
27 Aug, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...