Loading...
Linatom avatar Linatom 1 Точки

Задача от изпит Еxcursion sale : Помощ моля :)

 

Задача 5. Разпродажба на екскурзии

Туристическа фирма разпродава финални екскурзионни пакети за края на годината. Напишете програма, която да изчислява, печалбата от разпродажбата и дали са продадени всички пакети или не, като знаете първоначалния брой екскурзии и техните цени. Фирмата предлага два вида екскурзии – море ("sea") на цена 680 лева и планина ("mountain") на цена 499 лева. При избор на даден пакет, към общата сума се добавя съответната цена. При избор на пакет, който вече не е наличен (броят му е равен на 0), не трябва да се добавя към общата цена.

Вход:

От конзолата първоначално се четат 2 реда:

  1. Брой екскурзии за море – цяло число в интервала [1… 500]
  2. Брой екскурзии за планина – цяло число в интервала [1… 500]

След това се чете по един ред до получаване на команда "Stop" или докато фирмата не продаде всички пакети:

  • Име на пакет – текст с възможности "sea" или "mountain"

Изход:

На конзолата се отпечатват 1 или  2 реда, според случая:

  • Ако фирмата е успяла да продаде всички пакети:
    " Good job! Everything is sold."

Винаги се отпечатва:

"Profit: {печалба от продажбите} leva."

 

Вход : 2,2,sea,mountain,sea,sea,mountain

Axiomatik avatar Axiomatik 2422 Точки

Best,

 

function solve(input) {

let seaTripAmount = Number(input.shift());

let mountainTripAmount = Number(input.shift());

let profit = 0;

const prices = {

'sea': 680,

'mountain': 499,

}

 

while (input.length > 0) {

const destination = input.shift();

if (destination === 'Stop'|| (seaTripAmount === 0 && mountainTripAmount === 0)) {

break;

}

if (destination.toLowerCase() === 'sea' && seaTripAmount > 0) {

profit += prices.sea;

seaTripAmount--;

} else if (destination.toLowerCase() === 'mountain' && mountainTripAmount > 0) {

profit += prices.mountain;

mountainTripAmount--;

}

}

 

if (seaTripAmount === 0 && mountainTripAmount === 0) {

console.log('Good job! Everything is sold.');

}

 

console.log(`Profit: ${profit} leva.`);

}

 

solve([

'2', '2', 'sea', 'mountain', 'sea', 'sea', 'mountain'

]);

 

0
Linatom avatar Linatom 1 Точки

Много благодаря 😊

0
Patrik01 avatar Patrik01 0 Точки

Може ли на C#

0
StilianBorisov avatar StilianBorisov 0 Точки

може ли и за Java

 

0
smithAbbey avatar smithAbbey 1 Точки

Much obliged for the data you shared, I will get in touch with them now ! venge io

-1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.