atanasovetr

Untitled

Sep 29th, 2022
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.75 KB | None | 0 0
  1. Задача 1.
  2. Николай иска да разбере колко и какви символи се съдържат в даден низ. За низ - s, определете броя на големи букви, малки букви, числа и други символи.
  3.  
  4. Пример:
  5. s = Hello, Pravets 2022!
  6. На конзолата трябва да се принтира:
  7. Digits count: 4
  8. Lowercase letters count: 10
  9. Uppercase letters count: 2
  10. Other symbols count: 4
  11.  
  12. Входни параметри:
  13. • s - String
  14.  
  15. Ограничения:
  16. • 1 ≤ s ≤ 10000 (дължина на низа)
  17. • Всеки символ s[i] ∈ ascii
  18.  
  19. Изходен формат:
  20. Digits count: {number of chars}
  21. Lowercase letters count: {number of chars}
  22. Uppercase letters count: {number of chars}
  23. Other symbols count: {number of chars}
  24.  
  25. Задача 2
  26. Иван е изобретил машина на времето и иска да я изпробва като пътува във времето до България в специфичен ден от годината, в периода от 1700 до 2700 година.
  27. От 1700г. до 1915г., България официално използва Юлианския кландар, а от 1917г. - Грегорианския календар. Преминаването от Юлиянския към Грегориянския календар е било през 1916г., когато денят след 31 март е бил 14 април. Това означава, че през 1916г., 31 март е бил 91-я ден, а 14 април е бил 92-я ден от годината (ВАЖНО - 1916г е високосна).
  28.  
  29. И в двата календара, Февруари е единствения месец с променливи дни (29 дни по време на високосна година, и 28 през всички останали). В Юлианския календар високосни години са всички, които се делят на 4, а в Грегорианския високосни са всички, за които важи следното:
  30. • Делят се на 400
  31. • Делят се на 4, но не се делят на 100.
  32.  
  33. За година - x, и ден от годината - y, намерете датата на деня в посочената година според официалния календар на България през посочената година. Изкарайте датата на конзолата във формат dd.mm.yyyy, където dd е двуцифрен ден, mm е двуцифрен месец, yyyy е x.
  34.  
  35. Пример:
  36. Ако x = 1996, y = 177, 1996 е високосна година (тъй като се дели на 4, но не се дели на 100 и е през времето на Григорианския календар) датата, която трябва да изкараме на конзолата е: 25.06.1996.
  37.  
  38. Входни параметри:
  39. • year (x): integer
  40. • day (y): integer
  41.  
  42. Ограничения:
  43. • 1700 ≥ x ≥ 2700
  44. • 1 ≥ y ≥ 365 (366 при високосна година).
  45.  
  46. Изходен формат:
  47. Изкарайте пълната дата за посочения ден и година във формата - dd.mm.yyyy където dd е двуцифрен ден, mm е двуцифрен месец, yyyy е x.
  48.  
  49. Задача 3 ООП:
  50. Калоян е собственик на хотел и има нужда от система за управление. Направате система с класове и йерархия, за да улесните работата на мениджъра.
  51. Подберете най-добрите типове базирано на имената на полетата (Например за поле name, използвайте String, за number - int).
  52.  
  53. Имплементирайте всички класове в един клас Solution.
  54.  
  55. Структурата трябва да изглежда така:
  56.  
  57. abstract Room (
  58. roomNumber,
  59. pricePerNight
  60. )
  61.  
  62. Suite : Room (
  63. constructor() {
  64. // When creating, initialize pricePerNight to 50
  65. }
  66. )
  67.  
  68. Apartment : Room (
  69. constructor(roomNumber) {
  70. // When creating, check if roomNumber > 10 and if it is, set the pricePerNight = 150 (VIP apartments). If not, set the pricePerNight to 100
  71. }
  72. )
  73.  
  74. abstract HotelPersonnel (
  75. workerId,
  76. name,
  77. abstract greet method which takes a tourist and prints a greeting
  78. )
  79.  
  80. Cleaner : HotelPersonnel (
  81. list of cleaned rooms,
  82.  
  83. greet method which prints message: “Enjoy your stay,, {tourist name}”
  84.  
  85. clean method which takes a room an adds it to the cleaned rooms list
  86. )
  87.  
  88. Receptionist : HotelPersonnel (
  89. list of taken rooms,
  90.  
  91. greet method which prints message: “Welcome to the hotel, {tourist name}”
  92.  
  93. assignRoom method, which takes a Tourist and a Room object.
  94. )
  95.  
  96. Tourist (
  97. name,
  98. room,
  99. stayDays,
  100. isAllInclusive
  101.  
  102. constructor(name, stayDays, isAllInclusive)
  103.  
  104. relax method, which checks if the tourist is staying with all inclusive. If they are, the method prints “Feels good to make fat stacks coding”, If they are not, just print a happy face :)
  105. )
  106.  
  107. Задача 4 БОНУС:
  108. Шерлок счита един низ за валиден, ако всички символи в него се появяват еднакъв на брой пъти. Също така е валиден, ако може да се премахне 1 символ от 1 място и останалите символи се появяват еднакъв на брой пъти. По даден низ s, определете дали е валиден. Ако е изпишете YES на конзолата, в противен счучай - NO.
  109.  
  110. Примери:
  111. s = abc
  112. Това е валиден низ, защото символите се появяват еднакъв на брой пъти = { a: 1, b:1, c:1 }.
  113. s = abcc
  114. Това е валиден низ, защото можем да премахнем един символ 'c' и остават по един символ от всички останали.
  115. s = abccc
  116. Този низ не е валиден, защото можем да премахнем само един символ 'c', което ще ни остави с { a: 1, b:1, c:2 }.
  117.  
  118. Входни параметри:
  119. • s - String
  120.  
  121. Ограничения:
  122. • 1 ≤ s ≤ 10000 (дължина на низа)
  123. • Всеки символ s[i] ∈ ascii[a - z]
  124.  
  125. Изходен формат:
  126. Ако низа е валиден - YES, в противен случай – NO
  127.  
  128.  
Advertisement
Add Comment
Please, Sign In to add comment