# Buy minimum items without change and given coins

• Last Updated : 03 Mar, 2022

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`

Time Complexity : O(10), as 10 is constant so => O(1)
Auxiliary Space : O(1)

My Personal Notes arrow_drop_up