fork(2) download
  1. #include <iostream>
  2. #include <sstream>
  3. #include <vector>
  4.  
  5. #define UNUSED(x) (void)(x)
  6.  
  7. int makeEven(int v)
  8. {
  9. return (v/2)*2;
  10. }
  11.  
  12. int computeBunnyPopulation(int initNbBunnies)
  13. {
  14. int nbAdultBunnies = initNbBunnies;
  15. int nbTeenBunnies = 0;
  16. int nbChildBunnies = 0;
  17.  
  18. for(unsigned int i=15; i<365; i+=15)
  19. {
  20. // Bunnies grow up
  21. nbAdultBunnies += static_cast<int>(nbTeenBunnies*0.7);
  22. nbTeenBunnies = nbChildBunnies;
  23. nbChildBunnies = 0;
  24.  
  25. if(i % 30 == 0)
  26. {
  27. // Plague
  28. nbAdultBunnies = static_cast<int>(nbAdultBunnies*0.75);
  29. nbTeenBunnies = static_cast<int>(nbTeenBunnies*0.75);
  30. nbChildBunnies = static_cast<int>(nbChildBunnies*0.75);
  31. }
  32.  
  33. nbChildBunnies += static_cast<int>(makeEven(nbAdultBunnies)*0.9);
  34. }
  35.  
  36. return nbAdultBunnies + nbTeenBunnies + nbChildBunnies;
  37. }
  38.  
  39. int main(int argc, char* argv[])
  40. {
  41. UNUSED(argc);
  42.  
  43. int initNbBunnies;
  44. std::cin >> initNbBunnies;
  45.  
  46. std::cout << computeBunnyPopulation(initNbBunnies);
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0.02s 2684KB
stdin
Standard input is empty
stdout
1112870732