/*Создайте класс «Car» который позволяет рассчитать стоимость автомобиля
* (с базовой стоимостью 309000)в зависимости от выбранной комплектации
* (ABS-8390, противотуманные фары - 2960, парктроник 3500),
* если выбраны все опции -действует скидка в 5% от стоимости автомобиля.
*/
using System;
namespace restless
{
class Car
{
private float _price;
private bool _haveABS, _haveLight, _haveParkAssist;
public Car()
{
_price = 309000;
_haveABS = false;
_haveLight = false;
_haveParkAssist = false;
}
public void printPrice()
{
if (_haveABS == true && _haveLight == true && _haveParkAssist == true)
Console.WriteLine($"Вам предоставляется скидка в 5% за покупку всех доп. опций, стоимость авто с учётом скидки: {_price * 1.05}");
else
Console.WriteLine($"Текущая стоимость авто {_price}");
}
public void setABS()
{
if (_haveABS == false)
{
_haveABS = true;
_price += 8390;
Console.WriteLine("Опция успешно добавлена!");
}
else
{
Console.WriteLine("Данная опция уже была добавлена!");
}
}
public void setLigth()
{
if (_haveLight == false)
{
_haveLight = true;
_price += 2960;
Console.WriteLine("Опция успешно добавлена!");
}
else
{
Console.WriteLine("Данная опция уже была добавлена!");
}
}
public void setParkAssist()
{
if (_haveParkAssist == false)
{
_haveParkAssist = true;
_price += 3500;
Console.WriteLine("Опция успешно добавлена!");
}
else
{
Console.WriteLine("Данная опция уже была добавлена!");
}
}
public void addNewOptions()
{
string mchoice;
Console.WriteLine("Какую опцию вы хотите добавить?\n1.ABS\n2.Противотуманные фары\n3.Парктроник");
mchoice = Console.ReadLine();
switch (mchoice)
{
case "1":
setABS();
break;
case "2":
setLigth();
break;
case "3":
setParkAssist();
break;
default:
Console.WriteLine("Невернно введен номер опции");
break;
}
}
}
class Program
{
static void Main(string[] args)
{
int choice;
Car vesta = new Car();
do
{
Console.WriteLine("\n\t\tМеню\n1.Показать текущую стоимость авто\n2.Добавить опцию\n0.Выход");
choice = Convert.ToInt32(Console.ReadLine());
switch (choice)
{
case 1:
vesta.printPrice();
break;
case 2:
vesta.addNewOptions();
break;
case 0:
Console.WriteLine("Программа завершена.");
break;
default:
Console.WriteLine("Неверно введен пункт меню");
break;
}
} while (choice != 0);
}
}
}
ответ: 33
Объяснение: В "Ж" можно приехать из Е, К, З, В или Б, поэтому N = NЖ = NЕ + NК + N З + NВ + NБ (1)
NЕ = NБ + NК;
NК = NЗ + NИ;
NЗ = NВ + NГ + NД;
NВ = NА + NБ = 1 + 1 = 2;
NБ = NА = 1.
Добавим еще вершины:
NГ = NА = 1;
NД = NА + NГ = 1 + 1 = 2;
NИ = NЗ + NД = NЗ + 2;
Преобразуем первые вершины с учетом значений вторых:
NЕ = NБ + NК = 1 + 12 = 13 ;
NК = NЗ + NИ = 2NЗ + 2 = 10 + 2 = 12;
NЗ = NВ + NГ + NД = 2 + 1 + 2 = 5;
NВ = NА + NБ = 2;
NБ = NА = 1.
Подставим в формулу (1):
N = NЖ = 13 + 12 + 5 + 2 + 1 = 33