Skip to content
Related Articles
Buy minimum items without change and given coins
• Last Updated : 19 May, 2021

You have an unlimited number of 10-rupee coins and exactly one coin of r rupee and you need to buy minimum items each of cost k such that you do not ask for change.
Examples:

Input: k = 15, r = 2
Output: 2
You should buy two cables and pay 2*15=30 rupees. It is obvious that you can pay this sum without any change.
Input: k = 237, r = 7
Output:1
It is enough for you to buy one cable.

It is obvious that we can pay for 10 items without any change (by paying the required amount of 10-rupee coins and not using the coin of r rupee). But perhaps you can buy fewer hammers and pay without any change. Note that you should buy at least one item.

## C++

 `#include ``using` `namespace` `std;` `int` `minItems(``int` `k, ``int` `r)``{``   ``// See if we can buy less than 10 items``   ``// Using 10 Rs coins and one r Rs coin``   ``for` `(``int` `i = 1; i < 10; i++)``        ``if` `((i * k - r) % 10 == 0 ||``            ``(i * k) % 10 == 0)``            ``return` `i;` `    ``// We can always buy 10 items``    ``return` `10;``}` `int` `main()``{``    ``int` `k = 15;``    ``int` `r = 2;``    ``cout << minItems(k, r);``    ``return` `0;``}`

## Java

 `// Java implementation of above approach``import` `java.util.*;` `class` `GFG``{``static` `int` `minItems(``int` `k, ``int` `r)``{``    ` `// See if we can buy less than 10 items``// Using 10 Rs coins and one r Rs coin``for` `(``int` `i = ``1``; i < ``10``; i++)``        ``if` `((i * k - r) % ``10` `== ``0` `||``            ``(i * k) % ``10` `== ``0``)``            ``return` `i;` `    ``// We can always buy 10 items``    ``return` `10``;``}` `// Driver Code``public` `static` `void` `main(String args[])``{``    ``int` `k = ``15``;``    ``int` `r = ``2``;``    ``System.out.println(minItems(k, r));``}``}` `// This code is contributed``// by SURENDRA_GANGWAR`

## Python3

 `# Python3 implementation of above approach` `def` `minItems(k, r) :` `    ``# See if we can buy less than 10 items``    ``# Using 10 Rs coins and one r Rs coin``    ``for` `i ``in` `range``(``1``, ``10``) :``            ``if` `((i ``*` `k ``-` `r) ``%` `10` `=``=` `0` `or``                ``(i ``*` `k) ``%` `10` `=``=` `0``) :``                ``return` `i``    ` `    ``# We can always buy 10 items``    ``return` `10``;``    ` `# Driver Code``if` `__name__ ``=``=` `"__main__"` `:` `    ``k, r ``=` `15` `, ``2``;``    ``print``(minItems(k, r))` `# This code is contributed by Ryuga`

## C#

 `// C# implementation of above approach``using` `System;` `class` `GFG``{``static` `int` `minItems(``int` `k, ``int` `r)``{``    ` `// See if we can buy less than 10 items``// Using 10 Rs coins and one r Rs coin``for` `(``int` `i = 1; i < 10; i++)``        ``if` `((i * k - r) % 10 == 0 ||``            ``(i * k) % 10 == 0)``            ``return` `i;` `    ``// We can always buy 10 items``    ``return` `10;``}` `// Driver Code``public` `static` `void` `Main()``{``    ``int` `k = 15;``    ``int` `r = 2;``    ``Console.WriteLine(minItems(k, r));``}``}` `// This code is contributed``// by inder_verma`

## PHP

 ``

## Javascript

 ``
Output:
`2`

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price.

In case you wish to attend live classes with industry experts, please refer Geeks Classes Live

My Personal Notes arrow_drop_up