Advertisement
Spocoman

05. Coins

Dec 28th, 2021 (edited)
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function coins(input) {
  2.     let change = parseInt(Number(input[0]) * 100);
  3.     let coinCounter = 0;
  4.  
  5.     while (change !== 0) {
  6.         if (change >= 200) {
  7.             change -= 200;
  8.         } else if (change >= 100) {
  9.             change -= 100;
  10.         } else if (change >= 50) {
  11.             change -= 50;
  12.         } else if (change >= 20) {
  13.             change -= 20;
  14.         } else if (change >= 10) {
  15.             change -= 10;
  16.         } else if (change >= 5) {
  17.             change -= 5;
  18.         } else if (change >= 2) {
  19.             change -= 2;
  20.         } else {
  21.             change--;
  22.         }
  23.         coinCounter++;
  24.     }
  25.     console.log(coinCounter);
  26. }
  27.  
  28. РЕШЕНИЕ С ТЕРНАРЕН ОПЕРАТОР:
  29.  
  30. function coins(input) {
  31.     let change = parseInt(Number(input[0]) * 100);
  32.     let coinCounter = 0;
  33.  
  34.     while (change !== 0) {
  35.        
  36.         change -= change >= 200 ? 200
  37.                 : change >= 100 ? 100
  38.                 : change >= 50 ? 50
  39.                 : change >= 20 ? 20
  40.                 : change >= 10 ? 10
  41.                 : change >= 5 ? 5
  42.                 : change >= 2 ? 2 : 1;
  43.  
  44.         coinCounter++;
  45.     }
  46.     console.log(coinCounter);
  47. }
  48.  
  49. РЕШЕНИЕ С МАСИВ:
  50.  
  51. function coins(input) {
  52.     let change = parseInt(Number(input[0]) * 100);
  53.     let coins = [200, 100, 50, 20, 10, 5, 2, 1];
  54.     let coinCounter = 0;
  55.  
  56.     for (let i = 0; i < coins.length; i++) {
  57.         if (change >= coins[i]) {
  58.             coinCounter += parseInt(change / coins[i]);
  59.             change %= coins[i];
  60.         }
  61.     }
  62.     console.log(coinCounter);
  63. }
  64.  
  65. Pешение със forEach():
  66.  
  67. function coins(input) {
  68.     let change = parseInt(Number(input) * 100);
  69.     let coinCounter = 0;
  70.  
  71.     [200, 100, 50, 20, 10, 5, 2, 1].forEach(coin => {
  72.         coinCounter += parseInt(change / coin);
  73.         change %= coin;
  74.     });
  75.  
  76.     console.log(coinCounter);
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement