fork(5) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12.  
  13. int zwyciestwaMieczPierwszy=0;
  14. int zwyciestwaMieczDrugi=0;
  15. int remisy=0;
  16.  
  17. for (int iloscWalk=1;iloscWalk<100000;iloscWalk++){
  18. int wynikWalki = walka();
  19. if (wynikWalki==0) remisy++;
  20. if (wynikWalki==1) zwyciestwaMieczPierwszy++;
  21. if (wynikWalki==2) zwyciestwaMieczDrugi++;
  22. }//iloscWalk
  23.  
  24. System.out.println("Zasady gry:");
  25. System.out.println("trafienie = wygrana");
  26. System.out.println("Miecz pierwszy uderza sto razy na sekunde z prawdopodobienstwem 1%");
  27. System.out.println("Miecz drugi uderza jeden raz na sekunde z prawdopodobienstwem 100%(zawsze trafia)");
  28. System.out.println("Wyniki:");
  29. System.out.println("Zwyciestwa przy uzyciu miecza pierwszego="+zwyciestwaMieczPierwszy);
  30. System.out.println("Zwyciestwa przy uzyciu miecza drugiego="+zwyciestwaMieczDrugi);
  31. System.out.println("remisy="+remisy);
  32. }
  33.  
  34. //zwracamy 0 dla remisu, 1 wygral pierwszy, 2 wygral drugi;
  35. public static int walka(){
  36. //99 prob uderzen pierwszym mieczem
  37. for (int ilosc=1;ilosc<100;ilosc++) if (mieczPierwszy()) return 1;
  38. // po sekundzie - uderzają równoczesnie - drugi ZAWSZE trafia (czyli 100%)
  39. if (mieczPierwszy()) return 0; // bo udalo sie takze pierwszemu
  40. return 2; // w kazdym innym przypadku wygrywa drugi
  41. }
  42.  
  43.  
  44. public static boolean mieczPierwszy(){
  45. Random losuj = new Random();
  46. int wynik = losuj.nextInt(100) + 1;
  47. if (wynik==1)return true;
  48. return false;
  49. }
  50.  
  51. }
Success #stdin #stdout 2.56s 321024KB
stdin
Standard input is empty
stdout
Zasady gry:
trafienie = wygrana
Miecz pierwszy uderza sto razy na sekunde z prawdopodobienstwem 1%
Miecz drugi uderza jeden raz na sekunde z prawdopodobienstwem 100%(zawsze trafia)
Wyniki:
Zwyciestwa przy uzyciu miecza pierwszego=63041
Zwyciestwa przy uzyciu miecza drugiego=36574
remisy=384