Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.21 KB | None | 0 0
  1. #include <iostream>
  2. #include <random>
  3. #include <algorithm>
  4. #include <array>
  5. #include <chrono>
  6. using namespace std;
  7. void multiPull();
  8.  
  9. int num3StarCE = 0;
  10. int num4StarCE = 0;
  11. int num5StarCE = 0;
  12. int num3StarServant = 0;
  13. int num4StarServant = 0;
  14. int num5StarServant = 0;
  15. int main()
  16. {
  17.   int numMultis = 100000;
  18.   for(int x = 0; x < numMultis; x++)
  19.   {
  20.     multiPull();
  21.   }
  22.   double percent3CE = (double)num3StarCE/(10*numMultis);
  23.   double percent4CE = (double)num4StarCE/(10*numMultis);
  24.   double percent5CE = (double)num5StarCE/(10*numMultis);
  25.   double percent3Servant = (double)num3StarServant/(10*numMultis);
  26.   double percent4Servant = (double)num4StarServant/(10*numMultis);
  27.   double percent5Servant = (double)num5StarServant/(10*numMultis);
  28.   cout << "The % of 3* CEs was " << percent3CE*100 << '%' << endl;
  29.   cout << "The % of 4* CEs was " << percent4CE*100 << '%' << endl;
  30.   cout << "The % of 5* CEs was " << percent5CE*100 << '%' << endl;
  31.   cout << "The % of 3* Servants was " << percent3Servant*100 << '%' << endl;
  32.   cout << "The % of 4* Servants was " << percent4Servant*100 << '%' << endl;
  33.   cout << "The % of 5* Servants was " << percent5Servant*100 << '%' << endl;
  34.  
  35.  
  36. }
  37.  
  38. void multiPull()
  39. {
  40.   bool hasSR = false;
  41.   bool hasServant = false;
  42.   array<string,10> multi;
  43.   unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
  44.   srand(seed);
  45.   for(int i = 0; i < 10; i++)
  46.   {
  47.     int gachaCard = rand() % 100 + 1;
  48.     if(!hasServant && i == 8)
  49.     {
  50.       if(gachaCard <= 96)
  51.         multi[i] = "3*Servant";
  52.       else if(gachaCard == 100)
  53.       {
  54.         multi[i] = "5*Servant";
  55.         hasSR = true;
  56.       }
  57.       else
  58.       {
  59.         multi[i] = "4*Servant";
  60.         hasSR = true;
  61.       }
  62.     }
  63.     else if(!hasSR && i == 9)
  64.     {
  65.       if(gachaCard <= 92)
  66.         multi[i] = "4*CE";
  67.       else if(gachaCard == 100)
  68.         multi[i] = "5*Servant";
  69.       else if(gachaCard > 92 && gachaCard <=95)
  70.         multi[i] = "4*Servant";
  71.       else
  72.         multi[i] = "5*CE";
  73.     }
  74.     else
  75.     {
  76.       if(gachaCard <= 40)
  77.         multi[i] = "3*CE";
  78.       else if(gachaCard > 40 && gachaCard <= 80)
  79.       {
  80.         multi[i] = "3*Servant";
  81.         hasServant = true;
  82.       }
  83.       else if(gachaCard > 80 && gachaCard <= 92)
  84.       {
  85.         multi[i] = "4*CE";
  86.         hasSR = true;
  87.       }
  88.       else if(gachaCard > 92 && gachaCard <= 95)
  89.       {
  90.         multi[i] = "4*Servant";
  91.         hasServant = true;
  92.         hasSR = true;
  93.       }
  94.       else if(gachaCard > 95 && gachaCard <= 99)
  95.       {
  96.         multi[i] = "5*CE";
  97.         hasSR = true;
  98.       }
  99.       else
  100.       {
  101.         multi[i] = "5*Servant";
  102.         hasSR = true;
  103.         hasServant = true;
  104.       }
  105.  
  106.     }
  107.     }
  108.  
  109.  
  110.   shuffle(multi.begin(),multi.end(),default_random_engine(seed));
  111.   for(int i = 0; i < 10; i++)
  112.   {
  113.     cout << multi[i] << ' ';
  114.     if(multi[i] == "3*CE")
  115.       num3StarCE++;
  116.     else if(multi[i] == "4*CE")
  117.       num4StarCE++;
  118.     else if(multi[i] == "5*CE")
  119.       num5StarCE++;
  120.     else if(multi[i] == "3*Servant")
  121.       num3StarServant++;
  122.     else if(multi[i] == "4*Servant")
  123.       num4StarServant++;
  124.     else
  125.       num5StarServant++;
  126.     }
  127.  
  128.  
  129.   cout << endl << endl;
  130.  
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement