Vladimirovich Aleksandr1889
?>

Ақпараттық қауіпсіздік Ақпаратты тек белгілі бір тұлғалар ғана өзгерте алатынына кепілдік беретің ақпараттың қасиетін анықта.ақпараттың тұтастығыақпараттың қолжетімділігіақпараттың ақпараттылығыақпараттың құпиялылығыАртқаТексеру​

Информатика

Ответы

fotostock

//Поскольку вы не указали стоимость бензина, но цену за 1 литр выставил сам. Если нужно изменить стоимость, то измените элемент(ы) массива markPrice, где каждый элемент (с отсчетом от единицы) - это цена за литр бензина соответствующая его индексу (1 - 92, 2 - 95 и так далее).


#include <iostream>

#include <locale>

using namespace std;

double GetPrice(double litr, double price, double discount)

{

   double defaultPrice  = litr * price;

   return defaultPrice - defaultPrice * discount;

}

double GetDiscount (double litr, double mark)

{

   double discount = 0;

   if (litr > 10 && litr <= 20)

   {

       if (mark == 1)

           discount = 0.05;

       else if (mark == 2)

           discount = 0.1;

   }

   else if (litr > 20)

   {

       if (mark == 1)

           discount = 0.1;

       else if (mark == 2)

           discount = 0.2;

       else

           discount = 0.05;

   }

   return discount;

}

int main()

{

   setlocale(LC_ALL, "Russian");

   double markPrice[] = {42, 45, 46};

   int mark;

   double litr;

   cout << "Выберите марку бензина (1 - 92; 2 - 95; 3 - дизель): ";

   cin >> mark;

   cout << "Введите количество литров: ";

   cin >> litr;

   if (mark >= 1 && mark <= 3)

       cout << endl << "Стоимость заправки: " << GetPrice(litr, markPrice[mark - 1], GetDiscount(litr, mark));

   else

       cout << endl << "Ошибка! Введенная марка бензина не обнаружена!";

   return 0;

}


•пользователь выбирает марку бензина (1-92, 2-95, 3-дизель) и вводит количество литров.c++ код
•пользователь выбирает марку бензина (1-92, 2-95, 3-дизель) и вводит количество литров.c++ код
•пользователь выбирает марку бензина (1-92, 2-95, 3-дизель) и вводит количество литров.c++ код
muzaffarovich-Sergei1777
Решение

В питоне есть хороший модуль itertools. В нём есть комбинаторные функции - перестановки, размещения и куча других классных вещей. Давай вызовем itertools.permutations, передадим туда твоё число как строку и длину перестановок - 3:

permutations('123', 3) --> 123 132 213 231 312 321

permutations('100', 3) --> 100 100 10 1 10 1

Очередная перестановка, формально, представляется в виде списка. Переведём в строку: ''.join(i)

...И уберём ведущие нули: .lstrip('0')


Код

import itertools


for i in itertools.permutations(input(), 3):

   print(''.join(i).lstrip('0'))

# Ввод:

# 100

# Вывод:

# 100

# 100

# 10

# 1

# 10

# 1



Условие задачи позволяет нам выводить повторяющиеся перестановки. Если нас это не устраивает, мы можем добавить проверку уникальности через set:

import itertools


checker = set()

for i in itertools.permutations(input(), 3):

   s = ''.join(i).lstrip('0')

   if not(s in checker):

       print(s)

       checker.add(s)

# Ввод:

# 100

# Вывод:

# 100

# 10

# 1

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Ақпараттық қауіпсіздік Ақпаратты тек белгілі бір тұлғалар ғана өзгерте алатынына кепілдік беретің ақпараттың қасиетін анықта.ақпараттың тұтастығыақпараттың қолжетімділігіақпараттың ақпараттылығыақпараттың құпиялылығыАртқаТексеру​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

vadimpopov88
seymurxalafov05
Magnolia200872
djikia88
armsam76
Сурат1199
kosharikclub
dovgash2
Сергеевич1386
Mariya-Karaseva
bchukhraev79
Виктор-Богданов
Сергей_Комарова899
omraleva
samirmajbubi