fork download
  1. #include <iostream>
  2.  
  3. int main() {
  4. int mansCount;
  5. int barbersCount;
  6.  
  7. std::cout << "************** Барбершоп-калькулятор **************\n";
  8. std::cout << "Введите число мужчин в городе: ";
  9. std::cin >> mansCount;
  10.  
  11. std::cout << "Сколько уже барберов удалось нанять? ";
  12. std::cin >> barbersCount;
  13.  
  14. std::cout << "\n-----Рассчитываем-----\n";
  15.  
  16. // Сколько человек может постричь один барбер за одну смену?
  17. int mansPerBarber = 8; // один человек в час, смена 8 часов
  18. // Сколько человек успеет постричь барбер за месяц?
  19. int mansPerBarberPerMonth = mansPerBarber * 30;
  20. std::cout << "Один барбер стрижет " << mansPerBarberPerMonth << " клиентов в месяц\n";
  21.  
  22. // Сколько нужно барберов, чтобы постричь mansCount человек?
  23. int requiredBarbersCount;
  24.  
  25. // Используем оператор % для решения проблемы целочисленного деления
  26. if (mansCount % mansPerBarberPerMonth == 0) {
  27. requiredBarbersCount = mansCount / mansPerBarberPerMonth;
  28. } else {
  29. requiredBarbersCount = mansCount / mansPerBarberPerMonth + 1;
  30. }
  31.  
  32. std::cout << "Необходимое число барберов: " << requiredBarbersCount << "\n";
  33.  
  34. // Сколько человек успеют постричь requiredBarbersCount за месяц?
  35. std::cout << requiredBarbersCount << " барбера могут постричь "
  36. << requiredBarbersCount * mansPerBarberPerMonth << " мужчин за месяц.\n";
  37.  
  38. std::cout << "\n-----Результат-----\n";
  39.  
  40. // Сравниваем с количеством имеющихся барберов
  41. if (requiredBarbersCount > barbersCount) {
  42. int deficit = requiredBarbersCount - barbersCount;
  43. std::cout << "Нужно больше барберов! Не хватает " << deficit << " барберов.\n";
  44. } else if (requiredBarbersCount == barbersCount) {
  45. std::cout << "Барберов ровно столько, сколько нужно!\n";
  46. } else {
  47. int surplus = barbersCount - requiredBarbersCount;
  48. std::cout << "Барберов хватает! Есть " << surplus << " лишних барберов.\n";
  49.  
  50. // Проверяем, не слишком ли много барберов
  51. if (barbersCount >= requiredBarbersCount * 2) {
  52. std::cout << "У вас работает в два раза больше барберов, чем это нужно!\n";
  53. }
  54. }
  55.  
  56. // Дополнительная информация
  57. std::cout << "\n-----Детализация-----\n";
  58. std::cout << "Всего мужчин в городе: " << mansCount << "\n";
  59. std::cout << "Каждый барбер может обслужить: " << mansPerBarberPerMonth << " мужчин в месяц\n";
  60. std::cout << "Фактическое количество барберов: " << barbersCount << "\n";
  61.  
  62. if (barbersCount > 0) {
  63. int totalCapacity = barbersCount * mansPerBarberPerMonth;
  64. std::cout << "Общая вместимость барбершопа: " << totalCapacity << " мужчин в месяц\n";
  65.  
  66. if (totalCapacity >= mansCount) {
  67. std::cout << "Можно обслужить всех мужчин в городе!\n";
  68. } else {
  69. int unserved = mansCount - totalCapacity;
  70. std::cout << "Не удастся обслужить " << unserved << " мужчин в месяц\n";
  71. }
  72. }
  73.  
  74. return 0;
  75. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
************** Барбершоп-калькулятор **************
Введите число мужчин в городе: Сколько уже барберов удалось нанять? 
-----Рассчитываем-----
Один барбер стрижет 240 клиентов в месяц
Необходимое число барберов: 1858208
1858208 барбера могут постричь 445969920 мужчин за месяц.

-----Результат-----
Нужно больше барберов! Не хватает 1836255 барберов.

-----Детализация-----
Всего мужчин в городе: 445969808
Каждый барбер может обслужить: 240 мужчин в месяц
Фактическое количество барберов: 21953
Общая вместимость барбершопа: 5268720 мужчин в месяц
Не удастся обслужить 440701088 мужчин в месяц