Advertisement
piotranon

Untitled

Dec 4th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.97 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3. class ResztaMonteCarlo
  4. {
  5.     public static void main(String[] args) throws IOException
  6.     {
  7.         InputStreamReader str = new InputStreamReader(System.in);
  8.         BufferedReader wejscie = new BufferedReader(str);
  9.         String tekst;
  10.         Random losuj = new Random();
  11.         final int[] MONETY = {500,200,100,50,20,10,5,2,1};
  12.         final int LIMIT_WYDANYCH_MONET = 1000; // limit wydanych monet + 1
  13.         final int LICZBA_LOSOWAN = 100;
  14.         int minLiczbaWydanychMonet = LIMIT_WYDANYCH_MONET;
  15.         int[] wydaneMonety = new int[LIMIT_WYDANYCH_MONET];
  16.         int[] minWydaneMonety = new int[LIMIT_WYDANYCH_MONET];
  17.         int moneta, zl, gr, r;
  18.         System.out.println("Podaj reszte..");
  19.         System.out.print("zlotych: ");
  20.         zl=6;
  21.         gr=33;
  22.         for (int i = 0; i < LICZBA_LOSOWAN; i++)
  23.         {
  24.             r = zl*100 + gr;
  25.             int liczbaWydanychMonet = 0;
  26.             while (r > 0 && liczbaWydanychMonet < LIMIT_WYDANYCH_MONET)
  27.             {
  28.                 moneta = MONETY[losuj.nextInt(MONETY.length)];
  29.                 if (r >= moneta)
  30.                 {
  31.                     wydaneMonety[liczbaWydanychMonet] = moneta;
  32.                     r = r - moneta;
  33.                     liczbaWydanychMonet++;
  34.                 }
  35.             }
  36.             if (minLiczbaWydanychMonet > liczbaWydanychMonet)
  37.             {
  38.                 minLiczbaWydanychMonet = liczbaWydanychMonet;
  39.                 for (int j = 0; j < liczbaWydanychMonet; j++)
  40.                     minWydaneMonety[j] = wydaneMonety[j];
  41.             }
  42.         }
  43.         if (minLiczbaWydanychMonet < LIMIT_WYDANYCH_MONET)
  44.         {
  45.             System.out.print("Reszta: ");
  46.             for (int i = 0; i < minLiczbaWydanychMonet; i++)
  47.                 System.out.print(minWydaneMonety[i]/100.0 + " ");
  48.         }
  49.         else
  50.             System.out.print("Nie znaleziono rozwiazania.");
  51.         System.out.println();
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement