Tiene un número ilimitado de monedas de 10 rupias y exactamente una moneda de r rupia y necesita comprar artículos mínimos cada uno de costo k de modo que no pida cambio.
Ejemplos:
Entrada: k = 15, r = 2
Salida: 2
Deberías comprar dos cables y pagar 2*15=30 rupias. Es obvio que puede pagar esta suma sin ningún cambio.
Entrada: k = 237, r = 7
Salida: 1
Le basta con comprar un cable.
Es obvio que podemos pagar 10 artículos sin ningún cambio (pagando la cantidad requerida de monedas de 10 rupias y no usando la moneda de r rupias). Pero quizás puedas comprar menos martillos y pagar sin cambio alguno. Tenga en cuenta que debe comprar al menos un artículo.
C++
#include <bits/stdc++.h> 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
<?php // See if we can buy less than 10 items // Using 10 Rs coins and one r Rs coin function minItems($k, $r) { for ($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 $k = 15; $r = 2; echo minItems($k, $r); // This code is contributed by Rajput-Ji ?>
Javascript
<script> // Javascript program of the above approach function minItems(k, r) { // See if we can buy less than 10 items // Using 10 Rs coins and one r Rs coin for (let 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 let k = 15; let r = 2; document.write(minItems(k, r)); </script>
2
Complejidad del tiempo: O(10), como 10 es constante entonces => O(1)
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por Bhashkar_P y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA