Mari666a
26.01.2022 00:06

Здравствуйте ,объяснить, что делается в каждой строке кода Задача №111162. Такси
После затянувшегося совещания директор фирмы решил заказать такси,чтобы развезти сотрудников по домам. Он заказал N машин —ровно столько, сколь у него сотрудников.Однако когда они подъехали, оказалось, что у каждого водителя такси свой тариф за 1 километр.

Директор знает, какому сотруднику сколько километров от работы до дома (к сожалению, все сотрудники живут в разных направлениях, поэтому нельзя отправить двух сотрудников на одной машине). Теперь директор хочет определить, сколько придется заплатить за перевозку всех сотрудников. Естественно, директор хочет заплатить как можно меньшую сумму.

Входные данные
В первой строке записаны
N
чисел через пробел, задающих расстояния в километрах от работы до домов сотрудников компании. Во второй строке записаны
N
чисел — тарифы за проезд одного километра в такси.

Выходные данные
Выведите одно целое число — наименьшую сумму, которую придется заплатить за доставку всех сотрудников. import random
def qwert(num):
if len(num) <= 1:
return num
else:
q = random.choice(num)
l = [n for n in num if n < q]
e = [q] * num.count(q)
r = [n for n in num if n > q]
return qwert(l) + e + qwert(r)
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a = qwert(a)
b = qwert(b)
b.reverse()
sum = 0
for i in range(len(a)):
sum += a[i] * b[i]
print(sum)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
rkzxzvty2343
06.06.2022 05:23
Program n1;
const n=15;
var a: array[1..n] of integer;
pc,pn,nmin,nmax,max,min,i: integer;
begin
randomize;
pc:=1;
pn:=1;
write('массив: ');
for i:=1 to n do begin
a[i]:=random(100);
write(a[i],' ');
end;
writeln;
for i:=1 to n do if i mod 2=0 then pc:=pc*a[i] else pn:=pn*a[i];
if pc>pn then begin
max:=a[1];
for i:=2 to n do if a[i]>max then begin
max:=a[i];
nmax:=i;
end;
writeln('номер максимального элемента: ',nmax);
end else
begin
min:=a[i];
for i:=2 to n do if a[i]<min then begin
min:=a[i];
nmin:=i;
end;
write('номер минимального элемента: ',nmin);
end;
end.
0,0(0 оценок)
Ответ:
k456789
06.06.2022 05:23

Как исповедующий подход на атомарное разбиение кода на функции/методы/классы, предпочитаю видеть код, в котором каждая операция выполняется в своей функции.

Это упрощает повторное использование кода, да и мыслить такой код проще, чем когда тебе в одной функции нужно отслеживать несколько состояний для их синхронизации.

В данном задании действие этого подхода видно слабо.

P.S. srand(time(nulptr)) и rand() - "плохой" получения случайных чисел, так как время находится под контролем пользователя и он может выставлять время специально. Но "хороший" реализовывать здесь смысла нет.

===========================

Если решение удовлетворило, не забудь отметить его как "Лучшее".

===========================

Код:

#include <iostream>

#include <cstdlib>

#include <ctime>

int rand_range(int min, int max) {

   return std::rand() % (max - min + 1) + min;

}

int* random_sequence(int N, int min, int max) {

   int *arr = new int[N];

   for(auto i = 0; i < N; ++i) {

       arr[i] = rand_range(min, max);

   }

   return arr;

}

template<typename T>

void print_sequence(const T * arr, size_t size) {

   for(auto i = 0; i < size; ++i) {

       std:: cout << arr[i] << " ";

   }

}

long calculate_production(const int *arr, size_t size) {

   long accumulator = 1;

   for(auto i = 0; i < size; ++i) {

       if (i % 2 == 0) continue;

       accumulator *= arr[i];

   }

   return accumulator;

}

int main() {

   const int min_random = -19, max_random = 26;

   int N;

   std::cout << "How many number should we generate? N = ";

   std::cin >> N;

   std::srand(std::time(nullptr));

   int *arr = random_sequence(N, min_random, max_random);

   print_sequence(arr, N);

   auto result = calculate_production(arr, N);

   std::cout << ":" << result;

   delete[] arr;

   return 0;

}


Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота